源文地址: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中,可以...
- **通过JSP表达式语言(EL)**:使用EL表达式,如 `${javaVariable}`,可以直接在JavaScript代码中引用JavaBean或作用域内的变量。 2. **JavaScript到Java的传值**: - **表单提交**:通过JavaScript修改表单字段的...
在这些学习笔记中,你可以深入理解Java的核心概念,包括语法、数据类型、控制结构、类与对象,以及异常处理等。Java_笔记整理部分可能详细介绍了这些基本概念,并提供了实际编程中的应用示例。 CSS(Cascading ...
【标题】:“jsp中使用return 报错解决方案” 在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。然而,在编写JSP代码时,有时开发者可能会遇到在JSP页面中使用`return`语句时出现错误的...
#### 第一章:Java语言入门 - **1.1 Java的诞生** Java由Sun Microsystems公司于1995年推出的一种可移植、面向对象的编程语言。最初的设计目标是为消费电子产品提供一种通用编程语言。 - **1.2 Java的特点** ...
接着学习JavaScript,理解变量、控制流、函数、对象等概念,并熟悉DOM操作。最后,深入学习JSP,包括JSP指令、脚本元素、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等,以及如何与...
【JAVA课程设计】中的"教务管理系统"是一个综合性的项目,它涵盖了JAVA技术栈的多个重要组成部分,包括JSP(JavaServer Pages)、Servlet以及JavaScript。这个系统的主要目标是实现对教育机构日常教学活动的信息化...
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、过滤器和监听器等进阶话题。通过不断实践和理解,你将能够熟练掌握这两种技术,为构建复杂的...
教务管理系统是一个基于JAVA技术,利用JSP、Servlet和JavaScript实现的Web应用程序。这个课程设计旨在让学生深入理解和实践这三个核心技术在实际项目中的应用。以下是关于这些技术及其在教务管理系统中应用的详细...
【JSP学习笔记——初学者的选择】 JSP(JavaServer Pages)是JavaEE平台中用于构建动态网页的应用技术。作为初学者,理解JSP的基本概念和技术特性至关重要。 1. **为何选择JSP?** JSP的出现主要是为了解决...
Java相关课程系列笔记之八JavaScript学习笔记(建议用WPS打开) Java相关课程系列笔记之二Oracle学习笔记(建议用WPS打开) Java相关课程系列笔记之九Servlet学习笔记(建议用WPS打开) Java相关课程系列笔记之六...
2. JSTL(JavaServer Pages Standard Tag Library)提供了一系列标准标签,如条件判断、迭代、XML处理等,进一步降低了JSP中的Java代码量。 通过深入学习和实践“jsp实用教程”,你将能够熟练运用JSP开发动态Web...
Java实习工程师在学习过程中,会涉及到许多关键知识点,尤其是在企业级开发的场景下。从给出的四天学习笔记来看,实习生正在逐步掌握Java Web开发的基础和核心技能。以下是对这些知识点的详细说明: 1. **表单数据...
这份"jsp学习笔记总结"包含了作者在深入学习JSP过程中积累的宝贵知识,旨在为初学者提供一个全面的指导。 1. **JSP基础概念** JSP是由Sun Microsystems开发的,用于服务器端的脚本语言。它允许开发者使用HTML或者...
以下是一些Java学习笔记中的关键知识点,它们涵盖了从基础到进阶的概念。 1. JSP页面中静态包含文件(如HTML文件) 在JSP中,可以通过`<jsp:include>`标签来实现静态包含其他HTML、JSP或XML文件,这样可以提高代码...
2. **面向对象编程**:Java的核心特性之一就是面向对象,笔记可能会讲解类、对象、封装、继承、多态等概念,以及如何通过这些概念来设计和实现复杂系统。 3. **异常处理**:Java的异常处理机制使得程序更加健壮,...