Jsp JEE自定义未打包标签文件属性已使用表单值预先设置

Jsp JEE自定义未打包标签文件属性已使用表单值预先设置,jsp,Jsp,我注意到我的自定义JEE unpackage标记属性继承了来自jsp EL环境的值。有没有办法把它关掉?这是在使用Struts 2.31的Tomcat7.0上实现的 这是我的用例 我的jsp使用“id”作为表单字段,我的按钮标记也使用“id”属性。当我没有在按钮标签中设置“id”值时,就会发生这种情况。“id”将从jspel环境继承值。我不想要这种行为 jsp: : : WEB-INF/tags/button.tag : 现在的解决方法是为按钮设置id字段,但有时我不想显式显示id字段

我注意到我的自定义JEE unpackage标记属性继承了来自jsp EL环境的值。有没有办法把它关掉?这是在使用Struts 2.31的Tomcat7.0上实现的

这是我的用例

我的jsp使用“id”作为表单字段,我的按钮标记也使用“id”属性。当我没有在按钮标签中设置“id”值时,就会发生这种情况。“id”将从jspel环境继承值。我不想要这种行为

jsp:

:
:
WEB-INF/tags/button.tag

:

现在的解决方法是为按钮设置id字段,但有时我不想显式显示id字段。例如,我有一个包含8个表单的8个选项卡。我不想为每个按钮设置id,代码更少

任何帮助都将不胜感激


史蒂夫

我会回答我自己的问题。如果不显式地将pageScope用于非必需的jsp属性,代码中将出现细微的错误。 e、 g


<t:button type="button" onclick="...">
    <s:text name="button.label.save"/>
</t:buton>
:
:
<input name="id" id="resourcesIdCheckbox${i}" type="checkbox" value="${id}" />
<%@tag description="Button tag" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ attribute name="id" %>
<button data-dojo-type="dijit.form.Button" <c:if test="${!empty id}">id="${id}"
</c:if> ... >
:
</button>
<jsp:doBody/>
</button>
<%@ attribute name="id" %>
<button data-dojo-type="dijit.form.Button" <c:if test="${!empty pageScope.id}">id="${pageScope.id}"
<%@ attribute name="id" required="true" %>