使用JSTL设置请求属性

时间:2014-06-20 14:55:03

标签: java jsp jstl

我有以下代码:

<bean:define id="hasDocuments" name="BudgetSimulationDetailForm" property="hasDocuments" type="java.lang.Boolean"/> 
<%
    request.setAttribute("enablebtnRelatedDocs", "true"); 
    request.setAttribute("hasDocuments", String.valueOf(hasDocuments));
%>

我想删除scriptlet,我尝试使用c:set设置不同的范围,但它不起作用。 是否可以使用JSTL标记设置请求属性?

我尝试了这个并没有奏效:

<c:set name="enablebtnRelatedDocs" value="true" scope="request"/>

以及

<c:set name="enablebtnRelatedDocs" value="${true}" scope="request"/>

之后有一个包括:

<jsp:include page="/gema/jsp/includes/detail/top_Detail.jsp">
    <jsp:param name="title_key" value="${title}" />
    <jsp:param name="title_bundle" value="buc" />           
    <jsp:param name="standard_buttons_include" value="true" />
    <jsp:param name="typeId" value="53555" />
    <jsp:param name="detail" value="budget" />
</jsp:include>

在包含的JSP中,请求属性显然不可见。

2 个答案:

答案 0 :(得分:10)

听起来不错,你想使用JSP Standard Tag Library代替Scriplet。

是的,可以使用c:set。详细了解Core Tag Library

<c:set var="enablebtnRelatedDocs" value="${true}" scope="request"/>

<c:out value="${requestScope.enablebtnRelatedDocs }"/>

默认情况下c:set页面上下文中设置一个属性。你可以在任何范围内设置它。

答案 1 :(得分:3)

默认情况下,JSTL核心库函数&#34;设置&#34;接受以下属性:

JSTL Core set属性(信用于tutorialspoint.com): 值, 目标, 属性, VAR, 范围

你应该使用&#34; var =&#34;而不是&#34; name =&#34;。希望这有帮助!

快乐的编码!   1enter image description here