Struts2:如何从读取参数

发布于 2024-08-15 18:09:32 字数 611 浏览 5 评论 0原文

当我包含 JSP 时,通过 并指定参数 - 它们可以通过 EL ${param.XXX} 完全访问,但不能通过 OGNL %{#parameters.XXX}

例如:

<jsp:include page="fragment.jsp">
    <jsp:param value="foo" name="bar" />
</jsp:include>

在fragment.jsp中

value of foo in EL   : ${param.bar} 
value of foo in OGNL : <s:property value="%{#parameters.bar}" />

为什么???我应该在 Struts Tags 中使用什么?

注意:使用 而不是 时,即使使用 EL 也无法访问该参数。

When I include a JSP, either by <jsp:include /> and specify parameters - they are perfectly accessible by EL ${param.XXX} but not by OGNL %{#parameters.XXX}.

For example:

<jsp:include page="fragment.jsp">
    <jsp:param value="foo" name="bar" />
</jsp:include>

and in fragment.jsp

value of foo in EL   : ${param.bar} 
value of foo in OGNL : <s:property value="%{#parameters.bar}" />

WHY ??? What should I use instead in Struts Tags ?

Note: with <s:include/> instead of <jsp:include/>, the parameter is not accessible even with EL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

辞别 2024-08-22 18:09:32

这就是我解决问题的方法:

在包含页面中:

<s:set name="searchName" value="my search term" />
<jsp:include page="/WEB-INF/page/whatever.jsp" />

在/WEB-INF/page/whatever.jsp中:

Your searchTerm is <s:property value="#searchName" />

我希望它对您有用!

This is what I do to solve the problem:

In including page:

<s:set name="searchName" value="my search term" />
<jsp:include page="/WEB-INF/page/whatever.jsp" />

In /WEB-INF/page/whatever.jsp:

Your searchTerm is <s:property value="#searchName" />

I hope it works for you!

仄言 2024-08-22 18:09:32

我最近遇到了这个问题。我发现原因是中的参数没有存储在ActionContextrequest.parameters对象中,而是存储在在JSP页面的HttpServletRequest中。所以参数可以通过 EL(${param.xxx})<% request.getParameters("xxxx") %> 来获取,但是我们可以' t 让它通过(struts)ongl。因为参数不在ActionContext中。

如果你坚持使用ongl,可以通过jsp <% %>或者EL将参数添加到ActionContext中,然后通过ongl获取参数。

I encountered this problem recently. I found the reason is that the parameters in <s:include> is not stored in the request.parameters object of ActionContext, but stored in HttpServletRequest of JSP page. So the parameters can be obtained through EL(${param.xxx}) or <% request.getParameters("xxxx") %>, but we can't get it through (struts) ongl. Because the parameters are not in the ActionContext.

If you insist on using the ongl, you can add the parameters into ActionContext through jsp <% %> or EL and then you can obtain the parameters through ongl.

愛上了 2024-08-22 18:09:32

尝试以下操作。

<s:property value="%{#parameters['paramName']}"></s:property>

Try the following.

<s:property value="%{#parameters['paramName']}"></s:property>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文