【问题标题】:how to display multiple values in select tag?如何在选择标签中显示多个值?
【发布时间】:2014-03-25 13:32:08
【问题描述】:

我想在选择标签中显示一些名称,但我不能这样做。我有字符串类型的 setter 和 getter:

public void setFinalApprover(String finalApprover) {
        this.finalApprover = finalApprover;
    }

我在 DTOService 类的方法中从数据库中获取数据,例如:

public List addApprover(EmpRegistrationForm leaveApplyForm){

            List list=new ArrayList();
            try {
                con=DBConnection.getConnection();
                String Approver="select emp_name from newemp_register where userType='employee'";
                PreparedStatement pstmt=con.prepareStatement(Approver);
                ResultSet rs=pstmt.executeQuery();

                if(rs.next())
                {

                    leaveApplyForm.setFirstApprover(rs.getString(1));
                    list.add(leaveApplyForm);

                }               

            } catch (SQLException e) {

                e.printStackTrace();
            }   

            return list;

        }

我的控制器类是这样的:

@RequestMapping(value = "/registerForm", method = RequestMethod.GET)
       public ModelAndView showForm(@ModelAttribute("registerForm")EmpRegistrationForm EmpRegistrationForm, BindingResult result , ModelMap model,EmpRegistrationForm empRegistrationForm , HttpServletRequest request) 
       {
         log.info("Inside Controller returning to loginform page....");
         CommonDTOBean dtoBean=new CommonDTOBean();

        EmpRegistrationForm registerForm =  new EmpRegistrationForm();
        model.put("registerForm", registerForm);    

        model.remove(registerForm);
        EmpRegisterWorker worker=new EmpRegisterWorker();
        List status=worker.addApprover(EmpRegistrationForm);

        if(status!=null){
            model.put("status", status);

        }
}

我在 jsp 页面上显示列表中的值,例如:

<tr><td><spring:message code="label.firstApprover"> </spring:message></td>
    <td><form:select path="firstApprover" name="firstApprover">
<form:option  value="">${status.firstApprover}</form:option>

现在的问题是,它只显示一个值但是结果集正在返回多个值。请帮我解决这个问题。

有没有办法将多个值从 DTOSerive 类传递到控制器,从控制器传回 jsp 页面?对于

String Approver="select emp_name from newemp_register where userType='employee'";if(rs.next())
                {

                    leaveApplyForm.setFirstApprover(rs.getString(1));
                    list.add(leaveApplyForm);

                }      getting error like wrriting aborted to setFirstApprover.

【问题讨论】:

  • 你需要使用
  • 我试过了,但是没有用。
  • 我有点困惑 - 您在显示选项列表或多选时遇到问题?
  • 我认为问题在于多选。
  • 您发布的确切错误是什么,并且您没有正确使用 spring,为什么您在 GET 中创建 new EmpRegisterWorker();?创建对象任务移交给 spring 它将很好地管理它为此设计的,并使用 spring JdbcTemplate 进行数据库访问。

标签: java spring jsp


【解决方案1】:

您的 Select 标记应如下所示。这应该可以。

<forms:select path="firstApprover" items="${status}" />

使用ModelMap 中设置的status 属性引用您希望选择标记填充的内容。

【讨论】:

    【解决方案2】:
    <select name="firstApprover" >
    <c:forEach items="${status}" var="stat">
         <option value="${stat.your value}"> 
                 ${country.your value}
         </option> 
    </c:forEach>
    </select>
    

    Select option tag value 中,您可以使用 stat 变量设置您的实际预期数据。

    即使用 stat 附加您的密钥,就像我的模型密钥是名称一样,所以我只需将其附加为 stat.name

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 2019-05-28
      • 1970-01-01
      • 2018-11-29
      • 2017-09-13
      • 2012-01-18
      相关资源
      最近更新 更多