我有一个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 %>
或类成员<%! ... %>
中声明的局部变量不属于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>