学生注册页面,其中一个班级选项用<s:select>标签,从数据库获得数据显示。
register.jsp<s:form action="register">
  <s:textfield name="name" label="姓名"></s:textfield>
  <s:select list="classNoList" listKey="id" listValue="classNo" name="classno" value="班级" headerKey="0" headerValue="--请选择--" emptyOption="true"></s:select>
</s:form>
在register.jsp页面中如何获得数据库中classno的数据?
初学ssh框架,有很多不明白。请教上述实现的流程,及如何配置。
万分感谢!

解决方案 »

  1.   

    比如数据库中有表classno,字段为id,classno,存放所有班级。
    在jsp中的<s:select>标签中的list需要从数据库中获得,显示所有班级。
      

  2.   

    在转到这个新加页面来之前,你不要直接转过来,先经过一个action的方法,执行这个action方法后,取得数据以list方式封装好,放到页面上来,这样就解决了。
      

  3.   

    前提:要通过Action请求转发到jsp页面。1.Action:private List<classno表对象> list;list有get/set方法。在业务方法中list = 从数据库查询结果。2.Jsp
    <s:select list="list" listKey="id" listValue="classno" name="no"/>注:no是页面提交用。
      

  4.   

    在action中处理,获得需要的list数据,就ok了
      

  5.   


    我按照这个思路写了,用<s:action>调用action,转到包含<s:select>结果的页面,运行没有显示出来,似乎是没有调用execute方法。
    代码贴出来,能否帮我看看。public class ListClassNoAndMajorAction extends ActionSupport
    {
    private ClassNoService classNoService;
    private MajorService majorService;
    private Map<Integer, String> classNoMap;
    private Map<Integer, String> majorMap; @Override
    public String execute() throws Exception
    {
    this.majorMap = this.majorService.getMajors();
    this.classNoMap = this.classNoService.getClassNos();
    return SUCCESS;
    }
    public Map<Integer, String> getClassNoMap()
    {
    return classNoMap;
    }
    public void setClassNoMap(Map<Integer, String> classNoMap)
    {
    this.classNoMap = classNoMap;
    }
    public Map<Integer, String> getMajorMap()
    {
    return majorMap;
    }
    public void setMajorMap(Map<Integer, String> majorMap)
    {
    this.majorMap = majorMap;
    }
    public ClassNoService getClassNoService()
    {
    return classNoService;
    }
    public void setClassNoService(ClassNoService classNoService)
    {
    this.classNoService = classNoService;
    }
    public MajorService getMajorService()
    {
    return majorService;
    }
    public void setMajorService(MajorService majorService)
    {
    this.majorService = majorService;
    }
    }struts.xml <action name="listClassNoAndMajor" class="listClassNoAndMajorAction">
    <result name="success">/classNosAndMajors.jsp</result>
    <result name="input">/error.jsp</result>
    </action>register.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'StudentRegister.jsp' starting page</title>
      </head>
      <body>
        <s:form action="studentRegister">
         <s:textfield name="name" label="姓名"></s:textfield>
         <s:textfield name="studentId" label="学号"></s:textfield>
         <s:password name="password" label="密码"></s:password>
         <s:password name="repassword" label="确认密码"></s:password>
        
         <s:radio list="#{'男':'男','女':'女'}" name="gender" label="性别" value="'男'"></s:radio>
      
       <s:action name="listClassNoAndMajor" executeResult="true"></s:action>
      
         <s:textfield name="credit" label="绩点"></s:textfield>
         <s:label label="联系方式"></s:label>
         <s:textfield name="telephone" label="手机号码"></s:textfield>
         <s:textfield name="email" label="e-mail"></s:textfield>
        
         <s:submit value="注册"></s:submit>
         <s:reset value="重置"></s:reset>
        </s:form>
      </body>
    </html>classNosAndMajors.jsp<%@ page language="java" pageEncoding="UTF-8"%>
    <%@taglib prefix="s" uri="/struts-tags" %>    <s:select list="majorMap" listKey="key" listValue="value" name="major" label="专业" headerKey="0" headerValue="---请选择---" emptyOption="true"></s:select>
        <s:select list="classNoMap" listKey="key" listValue="value" name="classNo" label="班级" headerKey="0" headerValue="---请选择---" emptyOption="true"></s:select>
      

  6.   

    <td width="6%" class="right">
    部门:
    </td>
    <td class="left">
    <label>
    <s:select list="#request.dqr" listKey="key"
    name="hrEmploy.deptId" listValue="value.deptName" headerKey=""
    headerValue="--请选择--" theme="simple" style="width:132px"></s:select>
    </label>
    </td>