Model-Driven vs. Field-Driven
two types of Actions possible:
1. Model-driven
Action has methods returning your model classes (myAction.getUser())
Fields in the view are fields of your model
Views refer directly to your model (property=‘user.name’)
Excellent because it allows model reuse
2. Field-driven
Action has fields of its own, which are fields in the view
execute() collates fields and interacts with the model
Views refer to action fields (property=‘daysTillNextBirthday’)
Useful where form is not parallel to model
As we can see in our Action, the two can be mixed
ModelDriven Interface
XWork / WebWork also supports modeldriven Actions more directly
The ModelDriven Interface has one method:
public Object getModel()
Properties of the model will be directly available, i.e. “name” instead of “user.name”
Applies to UI tags, form field names, etc.
步骤:
(1)Action implements ModelDriven接口
(2)实现getModel()方法:
public Object getModel() {
return user;
}
(3)将jsp页面上user.name 改成name
(4)在xwork.xml中,
<pancakmaegsep ancaem=e"=/"eexx22""> extends="webwork-default"
<action name="main" class="com.opensymphony.xwork.ActionSupport">
<result>/model/form.jsp</result>
</action>
<action name="HelloWorld" class="example.ex2.HelloWorldAction">
<interceptor-ref name="model-driven"/>
<interceptor-ref name="defaultStack"/>
<result>/model/success.jsp</result>
<result name="input">/model/form.jsp</result>
</action>
</package>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。