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)實(shí)現getModel()方法:
public Object getModel() {
return user;
}
(3)將jsp頁(yè)面上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>
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。