【问题标题】:jsp servlet form get value of checkbox/selection expression languagejsp servlet表单获取复选框/选择表达式语言的值
【发布时间】:2015-03-10 15:50:31
【问题描述】:

我使用 jsp 和 servlet 创建了一个 Web 应用程序。

<p>
   <label>UserName:</label> 
   <input name="userName" type="text"  value="${param.userName}">
</p>

通常我使用表达式语言是为了不将输入的信息丢失到表单中(以防另一个字段中的输入错误)。

这个方法也可以与选择和复选框结合使用吗?

或者您还有其他想法吗? 我实际上试图避免这种情况:

小服务程序:

  if( request.getParameterValues("active") != null){
      request.setAttribute("vActive", "");
  }

JSP:

<input name="active" type="checkbox" <%  if ( request.getAttribute("vActive") != null ) { out.print(" checked=\"checked\""); }%> value="">

【问题讨论】:

  • 最好使用表达式语言而不是 scriptlet,因为我们通常在 JSP 中拥有我们所有的标记 (HTML),它构成了视图部分,以及在 Servlet 中检索数据的逻辑,它构成了 MVC 中的控制器部分.如果您开始在 JSP 中编写 java 代码(或)使用 PrintWriter's println() 在 servlet 中编写 html 标记,那么您又回到了原点,失去了 MVC 的全部原则,而且当您不这样做时,维护这些 sn-ps 简直就是地狱。 t 遵循某种模式并将代码放在 JSP 和 Servlet 中
  • 这就是(使用表达式语言)我想要实现的目标,但我不知道如何将 EL 与复选框和选择结合使用。
  • 也许这个链接会帮助你更清楚beginnersbook.com/2013/11/jsp-expression-language-el
  • @user3740082.. 我刚刚用 EL 发布了我的答案以预先选择一个复选框,看看是否有帮助:)
  • 试过空(param.active)?

标签: java validation jsp servlets webforms


【解决方案1】:

如果您只是想根据请求范围内的某个值预先选择一个复选框,那么您可以像这样在 EL 中执行此操作

<input name="active" type="checkbox" value="Car" ${vActive != null ? "checked" : ""} />

【讨论】:

    【解决方案2】:

    这行得通:

    <input name="active" type="checkbox" ${empty(param.active) ? "" : "checked"} value="true">
    

    终于明白EL怎么用了,谢谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多