本帖最后由 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);
return SUCCESS;
}
}
service.xml代码,配置bean的依赖关系,使用的是action和业务逻辑组件bean自动装配的形式,去掉了无关的部分:
<?xml version="1.0" encoding="UTF-8"?>