我有以下JSP。
<s:form id="cursorWait" theme="vs" action="list" method="get" acceptcharset="utf-8">
<div class="chckbox">
<s:checkbox id="as" name="as" />
<quartzi:text name="ts" />
</div>
<div class="chckbox">
<s:checkbox id="aec" name="aec" />
<quartzi:text name="tec" />
</div>
<div class="chckbox">
<s:checkbox id="aua" name="aua" />
<quartzi:text name="tua" />
<br/>
<br/>
</div>
<s:select name="seekRA" list="listeChoixRA" value="%{seekRA}" emptyOption="true"/>
<s:textfield id="numAff" name="seekCode" key="numeroaffaire" />
<s:textfield id="libAff" name="seekLibelleText" key="libelle" />
<s:a href="#" cssClass="action_effacer_sans_label" title="%{getText('effacer')}" onClick="gomme()"></s:a>
<s:hidden name="firstSearch" value="done" />
<s:submit id="recherche" key="rechercher" cssClass="wait"/>
</s:form>
<jsp:include page="inc_complex_search.jsp"/>
三个div复选框对其他文件是多余的,所以我决定将它们放在我包含的JSP文件中。我的页面变为:
<s:form id="cursorWait" theme="vs" action="list" method="get" acceptcharset="utf-8">
<jsp:include page="inc_checkbox_entity.jsp"/>
<s:select name="seekRA" list="listeChoixRA" value="%{seekRA}" emptyOption="true"/>
<s:textfield id="numAff" name="seekCode" key="numeroaffaire" />
<s:textfield id="libAff" name="seekLibelleText" key="libelle" />
<s:a href="#" cssClass="action_effacer_sans_label" title="%{getText('effacer')}" onClick="gomme()"></s:a>
<s:hidden name="firstSearch" value="done" />
<s:submit id="recherche" key="rechercher" cssClass="wait"/>
</s:form>
<jsp:include page="inc_complex_search.jsp"/>
inc_checkbox_entity.jsp
:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ taglib prefix="q" uri="/WEB-INF/tlds/q.tld"%>
<div class="chckbox">
<s:checkbox id="as" name="as" />
<q:text name="toutessocietes" />
</div>
<div class="chckbox">
<s:checkbox id="aec" name="aec" />
<quartzi:text name="tec" />
</div>
<div class="chckbox">
<s:checkbox id="aua" name="aua" />
<quartzi:text name="tua" />
</div>
结果是......不同...... 而且我不明白为什么。 这两段代码不应该生成相同的页面吗?是什么让他们与众不同?
以下是截图:
如果我在主JSP中有代码,而不是使用include,那么搜索实体就在“société..Unitésanalytiques”块下并与之对齐。
PS: 我试过用
<c:import url="inc_checkbox_entity.jsp"/>
but in this case the part between:
<s:select...
and <s:submit...
不再出现了。
答案 0 :(得分:0)
如果您使用<jsp:include>
,则应该包含一个jsp片段。但是您的自定义标签并不适合包含在内。因此,您可能希望修改jsp片段,以便使用<jsp:include>
标记。
<%@ taglib prefix="q" uri="/WEB-INF/tlds/q.tld"%>
<div class="chckbox">
<input type="checkbox" id="as" name="as" value="${as}"/>
<q:text name="toutessocietes" />
</div>
<div class="chckbox">
<input type="checkbox" id="aec" name="aec" value="${aec}"/>
<quartzi:text name="tec" />
</div>
<div class="chckbox">
<input type="checkbox" id="aua" name="aua" value="${aua}"/>
<quartzi:text name="tua" />
</div>
某些自定义标记也可能无效,如果可能,最好使用JSP内容删除/替换它们。