如何在 c:forTokens 和 c:forEach 的项目属性中使用变量值
How to use a variable value in items attribute of c:forTokens and c:forEach
我有一个 jsp 页面,它将从文本文件中读取数据,并将其格式化为表格形式。
从文本文件返回到 JSP 中的内容如下:
ABC:::XYZ:::POR:::STV
asd:::fgh:::hjk:::lkj
zxc:::cvb:::nmn:::aaa
JSP 页数:
<%! String content = MyFileReader.readData()); %>
<c:forTokens items="ABC:::XYZ:::POR:::STV" delims="::::" var="name">
<c:out value="${name}"/><br>
</c:forTokens>
而不是 items="ABC:::XYZ:::POR:::STV"
,我想在项目属性中使用 content
变量。 items="${content}"
对我不起作用。
在 <% scriptlets %>
或 class 成员 <%! ... %>
中声明的局部变量不是 EL 作用域的一部分。您需要将此值移动到 page
request
session
或 application
范围,例如使用
<c:set scope="page" value="<%=content %>" var="value"/>
然后通过${value}
访问它,比如
<c:forTokens items="${value}" delims="::::" var="name">
<c:out value="${name}" /><br />
</c:forTokens>
试试 pageContext:
<% pageContext.setAttribute("content", MyFileReader.readData()); %>
或
<c:set scope="page" value="<%=MyFileReader.readData() %>" var="content"/>
我有一个 jsp 页面,它将从文本文件中读取数据,并将其格式化为表格形式。
从文本文件返回到 JSP 中的内容如下:
ABC:::XYZ:::POR:::STV
asd:::fgh:::hjk:::lkj
zxc:::cvb:::nmn:::aaa
JSP 页数:
<%! String content = MyFileReader.readData()); %>
<c:forTokens items="ABC:::XYZ:::POR:::STV" delims="::::" var="name">
<c:out value="${name}"/><br>
</c:forTokens>
而不是 items="ABC:::XYZ:::POR:::STV"
,我想在项目属性中使用 content
变量。 items="${content}"
对我不起作用。
在 <% scriptlets %>
或 class 成员 <%! ... %>
中声明的局部变量不是 EL 作用域的一部分。您需要将此值移动到 page
request
session
或 application
范围,例如使用
<c:set scope="page" value="<%=content %>" var="value"/>
然后通过${value}
访问它,比如
<c:forTokens items="${value}" delims="::::" var="name">
<c:out value="${name}" /><br />
</c:forTokens>
试试 pageContext:
<% pageContext.setAttribute("content", MyFileReader.readData()); %>
或
<c:set scope="page" value="<%=MyFileReader.readData() %>" var="content"/>