【发布时间】:2015-05-04 06:04:44
【问题描述】:
我想在 JSP 声明中使用 JSTL。我有这样的代码:
<%! void fetchData(String .., String ..){
//some code...
pageContext.setAttribute("test",valueForJSTL); // Wont work until I pass pageContext from calling scriptlet
//some code...
%><%
//use pageContext variable set above to user in JSP (c:out, wcf:getData etc)**
%><%
}%>
我想知道为什么不允许在 JSP 声明中使用 scriptlet(第 5-7 行)。或者有没有其他方法可以解决这个问题?
我正在从 scriptlet 调用上述函数,我希望此方法进行一些操作,在 pageContext/request 中添加一个变量并在 JSTL 中获取该变量以从 DB 中获取数据。
您可以在以下位置找到完整的文件: http://wikisend.com/download/738986/MyView.jsp 声明“fetchCatalogEntries”中的 JSTL 不起作用。
【问题讨论】:
-
不清楚你在问什么。请向我们展示您的实际 JSP,而不是语法片段。
-
嗨,请在第 46 行找到文件:wikisend.com/download/738986/MyView.jsp 我正在调用声明。在“fetchCatalogEntries”函数中,我想在第 88 行使用 JSTL。但是不允许这样做。我不确定我们是否可以在声明方法中使用 scriptlet 标记。
-
对不起,你已经做了几乎所有的事情,你不能在 JSP 文件中做,请阅读一些教程,例如tutorialspoint.com/jsp
-
你不能这样做。请就上下文提出建议。如果您编写了此代码,请参阅上面的评论。如果这是一些旧版应用程序,则需要另一种方法。
-
嗨 @Alan 我知道 JSP 中有很多逻辑。原因 bean 不支持 OOB 以在 JAVA 中获取这些详细信息。这就是为什么我必须使用 JSP。我想知道的唯一细节是为什么在 JSP 声明中,pageContext 或请求变量不可访问
标签: java jsp jstl jsp-tags scriptlet