JSP页面代码如下:
  <table  border="1">
<tbody>
 <s:iterator value="users">    
<tr>
 <td><s:text name="用户名称"/></td>
 <td><s:property value="username"/></td>        
    </tr>         
      
     <tr>          
      <td><s:checkboxlist label="请选择内容:"list="userYwlb" listValue="jgmc" listKey="id" name="userjgmc" value="userjgmc"/><br></td> 
     </tr>  
     <tr>
      <td><a href='<s:url action="jgxxuserAction.action"><s:param name="username" value="username"/></s:url>'>确定</a></td>
     </tr>
     </s:iterator>  
     <s:a href="/zfjc/Welcome.jsp"><s:text name="返回" /></s:a>
  </body>action代码如下:
private String[]userjgmc;
getter、setter方法略
public String jgxxuser(){
HttpServletRequest request = ServletActionContext.getRequest();
String s = request.getParameter("username");
System.out.println("username :" +s);
System.out.println("userjgmc.length:" +userjgmc.length);
if(userjgmc !=null){
for(int i=0;i<userjgmc.length;i++){
System.out.println(userjgmc[i]);
}
for(int i=0;i<userjgmc.length;i++){
System.out.println("userjgmc:"+userjgmc[i]);
}
} return null;
}运行程序时,显示userjgmc.length为空,请教是否还需在JSP页面上或action中添加代码才能获得checkboxlist选中的值,具体该如何做吗?希望高手能不吝赐教,谢谢!

解决方案 »

  1.   

    提交过去直接数组处理就好了,private String[] para;要写get() set()方法封装
      

  2.   

    private String[]userjgmc;
    getter、setter方法略
    是直接提交的,但获取得值为空,不知是什么原因?
      

  3.   


    public String[] userjgmc;public String jgxxuser(){
    HttpServletRequest request = ServletActionContext.getRequest();
    String s = request.getParameter("username");
    System.out.println("username :" +s);
    System.out.println("userjgmc.length:" +userjgmc.length);
    if(userjgmc !=null){
    for(int i=0;i<userjgmc.length;i++){
    System.out.println(userjgmc[i]);
    }
    for(int i=0;i<userjgmc.length;i++){
    System.out.println("userjgmc:"+userjgmc[i]);
    }
    } return null;
    }
    getter、setter(userjgmc)方法略还有既然用s2
    这样的HttpServletRequest request = ServletActionContext.getRequest();
    String s = request.getParameter("username");  
    获取request可以声明接口,最好不要这样获取..
      

  4.   

    现我将jsp页面代码改成如下形式,可以获得<s:checkboxlist>中选中的值,但无法获得username参数,谁有好的办法解决这个问题:
     <s:form name="userjgxx" action="jgxxuserAction">
        <center>
          <table  border="1">
    <tbody>
     <s:iterator value="users">    
    <tr>
     <td><s:text name="用户名称"/></td>
     <td><s:property value="username"/></td>        
            </tr>         
          
         <tr>           
          <td><s:checkboxlist name="userjgmc" list="userYwlb"  listValue="jgmc" listKey="jgmc" label="请选择金融机构"/><br></td> 
         </tr>  
       <!-- <tr>
          <td><a href='<s:url action="jgxxuserAction.action"><s:param name="username" value="username"/></s:url>'>确定</a></td>
         </tr> -->  //这句该如何处理,才能通过submit传递username参数
         
         <tr>
            <td><s:submit value="确定" ></s:submit></td>
         </tr>
         </s:iterator>  
          
         <s:a href="/zfjc/Welcome.jsp"><s:text name="返回" /></s:a>
     </s:form>
      

  5.   

    给个简单的办法 用session 把 你的username 保存 起来 以后 什么时间 要用,,什么时候直接取!!
      

  6.   

    public String userjgmc;get()/set()记得上次用checkbox返回的是 1,2,3,4,5这种形式,楼主试试看。
      

  7.   


    将你的userName放到session中,或,
    放在你的form表单的隐藏域中就可以了。
      

  8.   

    看下 <s:hidden>这个标签吧可以指定<param>一个参数的值然后你就指定username就好了