【问题标题】:Unexpected line breaks appended to end of values in string array by jsp:fn:splitjsp:fn:split 将意外的换行符附加到字符串数组中的值的末尾
【发布时间】:2013-01-27 08:54:52
【问题描述】:

基本上是使用jsp:fn:split构造一个数组作为参数传递给bean。

从以下 XML 的警告/警告元素中解析字符串:

<?xml version="1.0" encoding="UTF-8"?>
<task><caution>fs43sd</caution>
<title>aaaa<warning>fsdfas</warning></title>
<warning>asddas</warning><sbsb><warning>fsdasds</warning></sbsb>
<aaaaa>
<bbb><caution>fsdfsd243sd</caution>
<warning>fsdfsd</warning>
</bbb>
</aaaaa>
</task>

并使用以下JSP构造字符串数组并将其参数化为bean:

<c:set var="wids">
<x:forEach select="$output/descendant::warning" var="warning">
<x:out select="$warning" />,</x:forEach></c:set>
<c:set var="cids">
<x:forEach select="$output/descendant::caution" var="caution">
<x:out select="$caution" />,</x:forEach></c:set>
<jsp:useBean id="wc" class="main.beans.WCBean">
<jsp:setProperty name="wc" property="wids" value="${fn:split(wids, ',')}"/>
<jsp:setProperty name="wc" property="cids" value="${fn:split(cids, ',')}"/>
</jsp:useBean>

当我使用&lt;c:forEach items="${fn:split(wids, ',')}" var="entry"&gt;${entry},&lt;/c:forEach&gt; 打印构造数组时:

fsdfas,
asddas,
fsdasds,
fsdfsd,

请注意,换行符会附加到每个值的末尾。有什么想法吗?


试图删除选择之前的换行符并且它消失了。猜猜 c:set 把里面的不是 jsp 标记的东西当作字符串文字。

【问题讨论】:

    标签: java xml jsp jstl


    【解决方案1】:

    换行符是从 c:set 元素内的 XML 中忠实复制的。

    【讨论】:

      猜你喜欢
      • 2014-03-06
      • 2017-09-29
      • 2022-12-11
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      相关资源
      最近更新 更多