当使用spring-autowiring时,struts标签不与操作类映射



当我将autowiring interceptor(interceptor ref name="autowiring")放在spring.xml中的action标记中时,index.jsp中的struts标记无法与该action类的setter进行映射。当我从action标签中删除autowiring标签时,在这种情况下,jsp的struts标签能够与action类的setter进行映射。

欢迎您的任何帮助。如果你需要什么样的例子,请告诉我。

<s:textfield name="name" label="Name" />
<s:textfield name="salary" label="Salary" />
<s:submit value="Add Record" />

那么这个名为"name"one_answers"salary"的struts标记不会在用setter/getter相同名称表示的操作类中设置值。

public void setName(String name) {
    this.name = name;
}
public void setSalary(String salary) {
    this.salary = salary;
}

如果在某个操作上定义了拦截器,则必须在该操作上定义所有拦截器。如果没有设置您的参数,那么无论"自动布线"拦截器引用是什么,都不包括"参数"堆栈,即负责将表单属性传输到操作的拦截器。

Umesh是正确的,如果你使用Spring,插件会为你处理注入,你不需要在你的操作中手动定义"自动布线"插件。如果您只是删除了拦截器定义,那么您的参数应该设置为正常,并且操作仍然应该连接起来。

话虽如此–在操作中手动使用会话工厂不会被视为最佳实践。任何会话工厂逻辑都应该封装在DAO/services/等中。操作应该很少(读作:从不)知道持久性层。

最新更新