源文地址:http://www.cnblogs.com/modou/articles/3572874.html
有这么一种实际情况,就是在javascript代码片段中引用java变量,比如:
<script type="text/javascript"> var str1 = "${javastr1}"; </script>
一般情况下,这么使用是没有问题的,可是如果变量javastr1带有换行符,这段javascript就报错了,需要格式化javastr1。
如果项目中使用了struts2,可以使用freemarker现成的格式化方法:
<s:bean name="freemarker.template.utility.StringUtil" id="stringUtil"/> <script type="text/javascript"> var str1 = "<s:property value="#stringUtil.javaScriptStringEnc(javastr1)" escapeHtml="false" />"; </script>
如果项目中没有使用struts2,新建一个javaScriptStringEnc方法即可,下面是freemarker里面的javaScriptStringEnc方法:
public static String javaScriptStringEnc(String s) { int ln = s.length(); for (int i = 0; i < ln; i++) { char c = s.charAt(i); if ((c == '"') || (c == '\'') || (c == '\\') || (c == '>') || (c < ' ')) { StringBuffer b = new StringBuffer(ln + 4); b.append(s.substring(0, i)); while (true) { if (c == '"') b.append("\\\""); else if (c == '\'') b.append("\\'"); else if (c == '\\') b.append("\\\\"); else if (c == '>') b.append("\\>"); else if (c < ' ') { if (c == '\n') { b.append("\\n"); } else if (c == '\r') { b.append("\\r"); } else if (c == '\f') { b.append("\\f"); } else if (c == '\b') { b.append("\\b"); } else if (c == '\t') { b.append("\\t"); } else { b.append("\\x"); int x = c / '\020'; b.append((char)(x < 10 ? x + 48 : x - 10 + 65)); x = c & 0xF; b.append((char)(x < 10 ? x + 48 : x - 10 + 65)); } } else { b.append(c); } i++; if (i >= ln) { return b.toString(); } c = s.charAt(i); } } } return s; }
相关推荐
3. **JavaBean参数传递**:JavaBean通常有setter和getter方法来设置和获取属性值,JSP中的`<jsp:setProperty>`标签用于设置JavaBean的属性值,`<jsp:getProperty>`用于获取。 4. **Servlet写出流**:在JSP中,可以...
Java学习笔记CCS AJAX DMS JSP servlet JavaScript等中文笔记整理,可供学习设计参考。
%>)**:声明变量或方法,它们在Servlet类中作为成员存在。 - **脚本片段()**:在这段代码中可以直接编写Java语句,执行结果会被插入到HTML中相应的位置。 - **表达式()**:将Java表达式的值转换为字符串,直接...
接着学习JavaScript,理解变量、控制流、函数、对象等概念,并熟悉DOM操作。最后,深入学习JSP,包括JSP指令、脚本元素、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等,以及如何与...
Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 Java相关课程系列笔记之十四Hibernate学习...
【JSP 学习笔记(Java 入门)】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,旨在实现Web页面内容与业务逻辑的分离。它允许开发者在HTML页面中嵌入Java代码,以生成动态内容。本文将深入探讨JSP...
在《JSP学习笔记截屏1》中,我们可以预见到这是一份关于学习JSP过程中的记录,包含了韩顺平老师的视频教程内容和个人的学习心得。韩顺平老师是一位知名的Java和Web开发领域的讲师,他的课程通常深入浅出,易于理解,...
在实际学习过程中,你可能还会涉及到Web容器的概念、部署描述符(web.xml)、请求和响应对象的使用、会话管理、Cookie、过滤器和监听器等进阶话题。通过不断实践和理解,你将能够熟练掌握这两种技术,为构建复杂的...
6. **JSP的笔记**可能包括了JSP的组成部分,如脚本元素(声明、脚本let、表达式)、动作标签(比如jsp:include、jsp:forward)、自定义标签的使用,以及MVC模式在JSP中的应用等。此外,JSP和Servlet之间的协作,以及...
JAVA(JSP+servlet+javascript)课程设计:教务管理系统Java源码
《良葛格java学习笔记》是一份集合了Java学习精华的资源,主要针对初学者和对Java编程感兴趣的读者。这份笔记是由用户从良葛格的网站上精心整理并转化为CHM格式,便于阅读和查阅。CHM(Compiled Help Manual)是微软...
**JSP学习笔记总结** **第 1 章 JSP 和 Web 页面的交互** 1.1 JSP(JavaServer Pages)是Java技术在Web开发中的应用,它允许开发者将静态HTML与动态Java代码结合起来,生成动态网页。通过在HTML页面中嵌入Java代码...
这份"jsp学习笔记总结"包含了作者在深入学习JSP过程中积累的宝贵知识,旨在为初学者提供一个全面的指导。 1. **JSP基础概念** JSP是由Sun Microsystems开发的,用于服务器端的脚本语言。它允许开发者使用HTML或者...
java学习笔记大全:java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java...
【JSP学习笔记——初学者的选择】 JSP(JavaServer Pages)是JavaEE平台中用于构建动态网页的应用技术。作为初学者,理解JSP的基本概念和技术特性至关重要。 1. **为何选择JSP?** JSP的出现主要是为了解决...
2. **面向对象编程**:Java的核心特性之一就是面向对象,笔记可能会讲解类、对象、封装、继承、多态等概念,以及如何通过这些概念来设计和实现复杂系统。 3. **异常处理**:Java的异常处理机制使得程序更加健壮,...
3. **异常处理**:Java中的异常处理机制是其独特之处,笔记会讲述try-catch-finally结构、异常类层次结构、自定义异常以及如何优雅地处理程序运行时可能出现的问题。 4. **字符串处理**:Java中的String类是不可变...
在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...
JSP的指令元素(如page、include、taglib)和动作元素(如jsp:useBean、jsp:setProperty、jsp:getProperty)提供了声明式编程的能力,简化了Web开发。 3. **分页**:在处理大量数据时,分页技术是非常必要的,它...
"Java学习笔记全部课件和源代码"是一个针对初学者的资源包,它包含了一系列关于Java编程的学习材料和实例代码,旨在帮助新手快速掌握Java语言的基础和实践应用。 在Java学习的初期,理解基础概念至关重要。这包括...