最近修改了一个老系统。系统用STURTS1 做的 服务端ACTION 获取的消息比较长 输出到JSP 页面后发现没有换行
服务端部分代码
request.setAttribute(Constants.BIZ_MESSAGE, "提示:纳税人普通发票机打资格信息登记成功!<br>"+message.toString());
return mapping.findForward("enterTaxpayerExport");
输出JSP 页面 用了一个自定义标签显示 输出用 JSTL 显示
<auto:msg id="message" type="1">
<c:out value="${message}" />
</auto:msg>
显示结果消息没有换行
在服务端JAVA 代码中折腾了好久 换成成 换行符号\n 还是没有效果
最后偶然发现是由于输出JSTL 对原始数据字符串信息加工了
就是escapeXml 属性的问题
后来修改
<c:out value="${message}" escapeXml="false" />
问题解决
分析是由于escapeXml="false" 设置后 JSTL 将原始数据字符串输出,
其中我后台字符串中有了<BR> 换行了也一并输出,到了HTML 页面显示换行
达到预期效果
平时不经常用的东西有时候很耽误你狠长时间,哎 也怪最近基础不扎实
- 大小: 5.6 KB
- 大小: 5.4 KB
分享到:
相关推荐
escapeXml属性用于指定是否要对输出内容中的特殊字符进行转义,当escapeXml为true时,特殊字符不会被解析;为false时,则相反。 其次,标签用于将变量存储在JSP的某个范围内,或者将值设置到JavaBean的属性或Map...
- **EL**:一种简单但强大的语法,用于在JSP页面中获取和设置对象属性,以及执行简单的表达式计算。 #### 四、标签库分类 JSTL标签库主要分为四个部分: 1. **Core**(核心标签) - URI前缀:`...
其中,`value`属性指定要输出的表达式,`escapeXml`决定是否转义特殊字符,`default`提供当表达式值为空或null时的默认输出。 例如: ```jsp 您的用户名是: ${user.username}" default="guest"/> ``` 这段代码将...
1. **设置项目属性**:确保项目支持 JSP 标准标签库。这通常意味着在项目配置中启用对 JSTL 的支持。 2. **添加 JAR 文件**:在项目的库中添加 JSTL 相关的 JAR 文件。例如,添加 `jstl.jar` 和 `standard.jar` 等...
- `escapeXml`:是否转义XML特殊字符,默认为`false`。 示例: ```xml ${user.username}" default="guest" /> ``` 此示例中,如果`user.username`为空,则输出`guest`;如果不为空,则输出实际的用户名。 ##### 2...
它可以设置默认值,并有转义字符的功能,如 `escapeXml` 属性。 ```html !"> ${1+2 }"> ${sessionScope.name }"> ${sex }" default="男"> ``` #### `<c:set>` `<c:set>` 标签用于设置变量,可以指定作用域(如 ...
JSTL的`<c:out>`标签是用于在JSP页面中安全地输出数据的关键工具,它通过`value`属性获取数据,并可以通过`default`属性设置默认值。`escapeXml`属性允许开发者控制是否转义HTML特殊字符,以确保输出内容的安全性。...
其中,`var`属性定义变量名,`value`属性用来设置变量的值,`scope`属性则用于指定变量的作用范围,可选值包括`page`、`request`、`session`和`application`。 ### 2. `out`标签 `out`标签用于输出已存在的变量值。...
- `<c:out>`:输出变量或表达式的值,可以避免XSS攻击,通过`escapeXml`属性控制是否转义XML特殊字符。 - `<c:set>`:设置变量,如上面示例中的`张三" />`。 - `<c:remove>`:删除一个变量。 - `<c:catch>`:...
- `<c:forEach>`:用于遍历数组、集合和Map,`items`属性设置要迭代的对象,`var`用于保存迭代的当前元素,`varStatus`提供关于当前迭代状态的信息,如索引等。 - `<c:forTokens>`:用于分割字符串并遍历,`items`...
- `escapeXml` 属性表示是否对输出值进行XML转义处理,默认为`true`。 - `default` 属性指定了当输出值为`null`时显示的默认文本。 - **注意事项**:如果输出的是HTML内容或者包含特殊字符,建议设置`escapeXml`...
属性是必填的, escapeXml属性是true时,不解析特殊字符,false时,解析特殊字符 --%> ${param.name}" escapeXml="false"><c:out> ``` ##### 3.2 `<c:set>` 标签 - **功能**:`<c:set>` 标签主要用于将变量...
`var`属性定义变量名,`value`属性设置变量值,`scope`属性指定范围,`target`和`property`属性用于设置JavaBean的属性。 ```jsp <c:set var="pwd" scope="session">000 ``` **2. JSTL的其他标签库** - **I18N ...
`<c:out>`标签有`value`属性,用于指定要输出的值,可选的`escapeXml`属性用于控制是否进行XML转义,默认为true,防止XSS攻击。例如: ```jsp ${expression}" escapeXml="true" /> ``` - `<c:set>`:这个标签...
2. **JSTL函数库**:提供了大量的实用函数,可以方便地在JSP页面中进行字符串操作、日期时间处理、数字格式化等,如fn:escapeXml()用于转义XML特殊字符,fn:length()用于计算集合的长度等。 3. **JSTL SQL标签库**...
- `escapeXml`:如果为`true`,那么特殊XML字符会被转义,避免被错误地解释为XML标签。默认值为`true`。 例如,`${user.username}"/>` 会显示变量`user.username`的值,而 `${user.username}" default="guest"/>` ...
EL是JSP 2.0引入的一个重要特性,它允许在页面中使用简洁的语法来访问JavaBeans属性和执行基本运算。JSTL 1.2中的EL模块与Java EE 5中的EL 2.1版本兼容,提供了与Java对象交互的能力,如 `${bean.property}`。 5. ...
`var`属性定义变量名,`value`属性设定变量值,`scope`属性定义作用域,`target`和`property`属性用于设置JavaBean的属性。 2. **I18N格式标签库** (http://java.sun.com/jsp/jstl/fmt):支持国际化和格式化功能,...