为什么这个scriptlet代码显示在HTML页面上?
对于下面给出的代码,我在HTML页面上显示了这个为什么这个scriptlet代码显示在HTML页面上?,html,jsp,scriptlet,Html,Jsp,Scriptlet,对于下面给出的代码,我在HTML页面上显示了这个value=“”>,如上所示。对如何修复它有什么建议吗 <td class="data" align="left" valign="middle" width="80%"> <input type="text" name="CMD" size="20" maxlength="16" <% if ( retrieveXMLCommand.cmdNumber.length() > 0 ){%>
value=“”>
,如上所示。对如何修复它有什么建议吗
<td class="data" align="left" valign="middle" width="80%">
<input type="text" name="CMD" size="20" maxlength="16"
<% if ( retrieveXMLCommand.cmdNumber.length() > 0 ){%>
value="<%=retrieveXMLCommand.cmdNumber%>">
<%}else{%>
value="">
<%}%>
</td>
值=”“>
值=”“>
运行它的页面上显示的HTML
<td class="data" align="left" valign="middle" width="80%">
<input type="text" name="CMD" size="20" maxlength="16">
value="">
</td>
值=”“>
我不知道这是否与不同的服务器版本有关。此代码正在WAS 8.5服务器上运行,但当它在WAS 6.1服务器上运行时,value=”“>
不会显示在页面上。奇怪
更新:
上面的代码没有问题。这是一个WebSphere问题,它导致了文件的旧版本。重建和重新部署,一切都很好 我从不建议您在JSP中使用Scriptlet,而是使用更易于使用且不易出错的脚本 首先尝试使用JSTL:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:if test="${ retrieveXMLCommand.cmdNumber.length() > 0}">
<td class="data" align="left" valign="middle" width="80%">
<input type="text" name="CMD" size="20" maxlength="16" value="${retrieveXMLCommand.cmdNumber}"/>
</td>
</c:if>
您可以使用下面提到的条件运算符
<input type="text" name="CMD" size="20" maxlength="16"
value="<% = retrieveXMLCommand.cmdNumber.length() > 0 ? retrieveXMLCommand.cmdNumber:"" %>" />
希望它能工作您已经有了自动关闭输入标签的功能。请注意,您已打印出
在这种情况下,上述代码没有任何错误。这是一个WebSphere问题,它正在获取文件的旧版本。我重建并重新部署,一切正常 您能否显示实际输出的HTML而不是浏览器试图对其执行的操作?@Brad在第页添加了代码。maxlength=“16”后面有一个
。这是关闭标记,并将从该标记到
之间的所有内容视为文本。Braj,我看到的是一个遗留代码,类似于2000行类似代码,因此我认为重构在绝对必要之前是不可行的。但我会尝试按照你建议的方法修改它。第二个选项呢?是的,我正在按照这个方法修改。我将在编辑和测试后通知您。:)你又一次把html和Scriplet混在一起了。哦,天哪,它不起作用,所以我把整个东西都拆开,然后切换回原来的代码。我发现这是一个WebSphere缓存问题。重新部署,一切都很好。我不能将此标记为答案,但我将+1。谢谢你帮我解决问题。作业Scriplet
<input type="text" name="CMD" size="20" maxlength="16"
value="<% = retrieveXMLCommand.cmdNumber.length() > 0 ? retrieveXMLCommand.cmdNumber:"" %>" />
<td class="data" align="left" valign="middle" width="80%">
<%
String value = "";
if ( retrieveXMLCommand.cmdNumber.length() > 0 )
{
value = "" + retrieveXMLCommand.cmdNumber;
}
out.print("<input type='text' name='CMD' size='20' maxlength='16' value='" + value + "' /> ");
%>
</td>