读书人

Struts的MVC方式实现机制

发布时间: 2012-11-25 11:44:31 作者: rapoo

Struts的MVC模式实现机制

?

?

??????????????? <form-bean name="shopActionForm"? type="org.chen.struts.loginForm" />
???????????????? ........
??????????????? <form-bean name="shopActionForm"? type="org.chen.struts.loginForm" />
?</form-beans>
? 5)一个ActionForm必须至少指定两项。
???? name:该项用于标识ActionForm的Id,以便于传递给Action进行使用
???? type:ActionForm的实现类
? 6)在eclipse中添加一个ActionForm的步骤如下:
????? A:右击--->new--->other--->myeclipse--->webstruts-->struts1.1 form
????? B:在弹出的对话框中
???????? name中输入ActionForm的标识id
???????? superclass指定ActionForm的父类名。一般选择org.apache.struts.action.ActionForm
???????? formtype指定ActionForm的类名,因为它是一个javaBean。相当于为类取一个名字
???????? formProperty选项卡中输入ActionForm的属性。????

???type="org.chen.struts.loginAction">
???<forward name="scuess" path="/scuess.jsp" />
???<forward name="error" path="/error.jsp" />
??????? </action>
???? 说明:
A)name:并不是Action本身的名字,而是与之关联的ActionForm的名称
B)path:非常重要的属性。ActionSerlvet将用户的请求转发与之同名的Action.同名的意思是将请求?的".do"后缀去掉。匹配Action的path属性值
C)struts-config.xml中只要遇到path属性都要加"/"表示相当于WebRoot根目录而言
D)type:Action的类名
E)forward:将Action的转发映射到实际的jsp页面,在实际编程时应该用逻辑名进行转发
F)一个Action可以有ActionForm,也可以没有ActionForm。如果是post提交的一般会有ActionForm。比如:<form id="frm1" action="loginAction.do">,如果是通过get提交则不会有ActionForm,但是Action总是会有的,因为要处理业务逻辑。比如:<a href="shopAddAction.do">
G)关于超链接与Action路径的问题(******************)
???? [1]对于表单中的Action而言,不存在路径问题,只要Action在classes下都可以定位比如:?1.jsp页面在WebRoot下面,但Action在ht.netBook.Action下面。在表单中提交时
<html:form action="insertTalkAction.do">可以直接指定Action名就可以了。或者2.jsp页面在WebRoot下面的page下面,都可以正确定位。
???????[2]但对于超链接而言,则不一样。如果 超链接所在的页面1.jsp在WebRoot下面, ???

?????????如果要在WebRoot下面的page文件夹里面的error.jsp则修改成为<forward name="error" path="/page/error.jsp" />

???<forward name="error" path="/error.jsp" />?
???????? 3)每一个Forward相当于一个ActionForward对像,所以struts中的
?????????? ActionSerlvet,Action,ActionForwad构成了struts的核心
??????? 说明:
???????? A)name:用来指定forward逻辑名,以便在编程中来使用
???????? B)path:实际要转发到的jsp页面。注意要加"/" ???? ?

?

读书人网 >VC/MFC

热点推荐