在strust中方法为
public boolean updateYuangong_Ystate0(List list)
{},时Action中应该怎么写?

解决方案 »

  1.   

    DAO dao = new DAO();
    List list;
    //........为list赋值boolean result = dao.updateYuangong_Ystate0(list);
      

  2.   

    Dao都写好了,action反而不会了吗?应该更简单了啊,都封装在dao里了
      

  3.   

    晕  你DAO都写好了 直接在Action里把数据封装到list里然后作为参数传给DAO方法接着执行不就可以了么
      

  4.   

    你要知道dao需要的list是什么样子的,然后才能调用啊
      

  5.   

    调用dao中的更新方法,然后把你的list传进去进行查询,按理说LZ写好了DAO不能不回写action吧
      

  6.   

    楼主可能遇到了如何从JSP传一个LIST到ACTION, 然后要把这个LIST传给DAO的方法。在JSP中使用相同的名字多次
    例如
    <input name="list" value="1"/>
    <input name="list" value="2"/>
    <input name="list" value="3"/>
    <input name="list" value="4"/>当name被传到action时, 就会用逗号吧list的值分隔开,list = "1, 2, 3, 4"
    在ACTION中设一个list变量,即
     private String list; ACTION 代码:
     private String list;
        
        public String getList() {
            return list;
        }    public void setList(String list) {
            this.list = list;
        }    @Override
        public String execute() throws Exception {
    //ActionContext.getContext().getSession();
    HttpServletRequest request = ServletActionContext.getRequest();
    request.setAttribute("list", list);
    return INPUT;
        }
        
    把list设到request里边去, 直接返回input, 便于测试得到 list = 1, 2, 3, 4 
    可见, 这时只要使用String[] newList = list.split(", "), 就可以把1, 2, 3, 4 分别放到newList里边去
    这时你就可以直接调用dao的方法进行update了。struts.xml configuration:
    <action name="testParameters" class="tmf.struts2.test.ParameterAction">
         <result name="input">/pages/parameters.jsp</result>
     </action>parameters.jsp  <s:form name="testParameters" action="testParameters" method="get">
    <s:textfield name="list" value="1"></s:textfield>
    <s:textfield name="list" value="2"></s:textfield>
    <s:textfield name="list" value="3"></s:textfield>
    <s:textfield name="list" value="4"></s:textfield>
    <s:submit value="Submit"></s:submit>
      </s:form>
      
      <s:property value="#request.list"/>