0

基本的に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>

そして、次を使用して構築された配列を印刷すると<c:forEach items="${fn:split(wids, ',')}" var="entry">${entry},</c:forEach>

fsdfas,
asddas,
fsdasds,
fsdfsd,

各値の末尾に改行が追加されることに注意してください。何か考えはありますか?


選択の前の改行を削除しようとしましたが、消えました。c:set は内部の jsp タグではないものを文字列リテラルとして扱っていると思います。

4

1 に答える 1

0

改行は、c:set 要素内の XML の改行から忠実にコピーされます。

于 2013-01-28T04:50:14.747 に答える