日期:2014-05-19  浏览次数:20690 次

struts2和spring3整合项目,action无法调用业务逻辑组件的方法
本帖最后由 papaxiong7658 于 2012-12-01 11:42:19 编辑
开发一个SSH2项目,在一个页面使用一个<s:action>load一个图书类别,后台的action调用业务逻辑组件的方法总是不成功,很奇怪。项目其他的部分都运行的好好的。为了检查,把无关的部分都去掉。只留了一些相关的部分,代码如下,大家帮我看看是哪里写错了?
以下代码完全是为了检查和测试这个错误,所以有一些直接输出结果的代码。
give.jsp页面相关代码:
<s:form name="addGiveForm" action="addGivePro" method="post">
<s:action name="itemcls1Pro" id="icls1List"></s:action>
<s:property value="#icls1List.msg" />
<br>
<s:property value="#icls1List.msg1" />
</s:form>
</td>
</tr>
</table>

struts.xml相关代码:
<package name="kevin" extends="struts-default">
<action name="itemcls1Pro" class="com.kevin.action.Itemcls1Action" method="findItemcls1List">
<result name="success">index.jsp</result>
</action>
</package>

Itemcls1Action代码,里面的msg,msg1都是为了测试用的:
package com.kevin.action;

import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.kevin.domain.Itemcls1;
import com.kevin.service.ItemclsService;

public class Itemcls1Action extends ActionSupport
{
    private List<Itemcls1> itemcls1List;
    
    private String msg1;
    private String msg;
    
    //依赖注入的业务逻辑组件
    private ItemclsService itemclsService;
    
    public String getMsg1()
      {
          return msg1;
      }

      public void setMsg1(String msg1)
      {
          this.msg1 = msg1;
      }
      
  public String getMsg()
    {
        return msg;
    }

    public void setMsg(String msg)
    {
        this.msg = msg;
    }

    public List<Itemcls1> getItemcls1List()
    {
        return itemcls1List;
    }

    public void setItemcls1List(List<Itemcls1> itemcls1List)
    {
        this.itemcls1List = itemcls1List;
    }

    public void setItemClsService(ItemclsService itemclsService)
    {
        this.itemclsService = itemclsService;
    }
    
    public String findItemcls1List() throws Exception
    {
this.msg1 = "abcdfsfsdfd";
System.out.println("Actionsuccess");
System.out.println(msg1);
this.msg = itemclsService.testResust();
System.out.println(msg);
retur