首页 > 解决方案 > jsp,尝试在 td 中使用选择语句来更改传递值

问题描述

这是我拥有的原始代码,但传递给 userName 的值来自另一个逻辑,即使将其设置为“”,传递值也是未定义的。

我正在尝试在此处设置选择语句,以便如果未定义传递值,它可以手动将值覆盖为“”。

<td class="input_td"><input type="text" id="userName" name="userName" value="<c:out value="${userName}" />" style="width:100%" ></td>

所以我把它改成

<c:choose>
   <c:when test-${userName = undefined}">
      <td class="input_td"><input type="text" id="userName" name="userName" value=" 
      <c:out value="" style="width:100%" ></td>
   </c:when>
   <c:otherwise>
      <td class="input_td"><input type="text" id="userName" name="userName" value=" 
      <c:out value="${userName}" />" style="width:100%" ></td>
   </c:otherwise>
</c:choose>

授予..不工作。我该如何解决?

标签: jsp

解决方案


在 JSP 的初始部分,您可以有一个 scriptlet,您可以在其中检查从不同逻辑(可能存储在会话中或请求中?)获得的“用户名”的值,如果它为空,只需将其设置为空字符串pageContext 并且在 JSP 中检索它之后会很好,例如:

<%
String userName = ((String)request.getSession().getAttribute("userName"));
userName = userName == null ? "" : userName;
pageContext.setAttribute("userName", userName);
%>

...
<c:out value="${userName}"
...

推荐阅读