首页 > 解决方案 > JSP 代码行导致文本在一个地方显示为超链接,但在另一个地方显示为密文文本

问题描述

我有这个jsp

<% include file="../../common.jsp %>

    <!-- engine size -->
    <c:set var="maxLength" value="4" />
    <c:set var="cssClass" value="input-text small vehicle vehicleCc vehicleSearch modelSearch" />
    <c:set var="path" value="vehicle.cc" />
    <c:set var="label" value="vehicle.cc" />
    <c:set var="explanation" value="vehicle.cc.electric" />
    <c:set var="help" value="whatsthis.cc" />
    <c:set var="helpLink" value="car.cc.link" />
    <%@ include file="../../common/fieldrows/textbox.jsp %>
   ...

该属性vehicle.cc.electric具有值if electric, enter 0当我运行我的应用程序并通过浏览器访问引擎大小区域时,会显示正确的消息,但它显示为超链接,但单击时不会带您到任何地方。

在同一个文件的下方,我有以下内容:

...
<!-- list cars -->
<c:set var="cssClass" value="largest carList" />
<c:set var="path" value="carList" />
<c:set var="label" value="vehicle.select" />
<c:set var="explanation" />
    <spring:message code="label.matching.vehicles" />
</c:set>
<%@ include file="../../common/fieldrows/listbox.jsp" %>

如果我在<c:set var="explanation" value="vehicle.cc.electric" />下面添加,<c:set var="label" value="vehicle.select" />它会按我的意愿显示,而不是看起来像超链接。这是怎么做到的?

我注意到的附加信息textbox.jsp包含以下内容:

<div class="additional-info" id="informaion">
    <spring:message code="${explanation}" />
</div>

listbox.jsp略有不同之处在于它不包含以下id字段:

<div class="additional-info">
    <spring:message code="${explanation}" />
</div>

当我从中删除id时,textbox.jsp我必须<c:set var="explanation" value="vehicle.cc.electric" />根据需要显示。我不确定它的目的id是什么。我是全新的,jsp所以任何信息/帮助将不胜感激。

标签: javajsp

解决方案


解决此问题的选项是:

  1. 创建一个新变量。例如electric。然后将<c:set var="electric" value="vehicle.cc.electric" />其添加到 textbox.jsp:
<c:if test="${!empty electric}">
    <div class="additional-info">     
        <spring:message code="${electric}" /> 
    </div>
</c:if>
  1. 为 id 提供覆盖

  2. 创建 textbox.jsp 的副本并使用您需要的内容。

我选择了选项 1。


推荐阅读