我有一个jsp页面,它将从文本文件中读取数据,并将以表格形式格式化。
从文本文件返回到JSP的内容如下:
ABC:::XYZ:::POR:::STV
asd:::fgh:::hjk:::lkj
zxc:::cvb:::nmn:::aaa
JSP PAGE:
<%! String content = MyFileReader.readData()); %>
<c:forTokens items="ABC:::XYZ:::POR:::STV" delims="::::" var="name">
<c:out value="${name}"/><br>
</c:forTokens>
我想在items属性中使用items="ABC:::XYZ:::POR:::STV"
变量,而不是content
。 items="${content}"
对我不起作用。
答案 0 :(得分:2)
在<% 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>
答案 1 :(得分:2)
尝试pageContext:
<% pageContext.setAttribute("content", MyFileReader.readData()); %>
OR
<c:set scope="page" value="<%=MyFileReader.readData() %>" var="content"/>