| 配置之一:Jdon框架配置文件
首先我们将前面三步编写的三个类:模型Message、服务MessageService和界面模型MessageForm建立起联系,也就是告诉Jdon框架这三者是解决一个模型增删改查CRUD功能实现的。
由于这个配置文件是告诉Jdon框架的,因此,我们取名为jdonframework.xml,当然你也可以取其他名称,无论取什么名称,都要告诉Jdon框架,在struts-config.xml中配置
<plug-in className="com.jdon.strutsutil.InitPlugIn"> <set-property property="modelmapping-config" value="jdonframework.xml" /> </plug-in> | jdonframework.xml配置内容如下:
<models> <!-- 配置模型的类是Message,其主键是messageId --> <model key="messageId" class ="sample.model.Message"> <!-- 下行是配置界面模型MessageForm --> <actionForm name="messageForm"/> <handler> <!-- 以下配置MessageService --> <service ref="messageService"> <getMethod name="getMessage" /> <createMethod name="createMessage" /> <updateMethod name="updateMessage" /> <deleteMethod name="deleteMessage" /> </service> </handler> </model> </models> <services> <!-- 以下配置MessageService --> <pojoService name="messageService" class="sample.service.MessageServiceImp"/> </services> | 以上配置是配置模型Message、模型服务MessageService和界面模型MessageForm三者关系的,下面详细说明三个部分的配置:
一、模型Message的配置:
这是通过第一行中的class值来指定当前Model是sample.model.Message:
| <model key="messageId" class ="sample.model.Message"> | 其中,Message模型的主键是messageId,这个messageId必须是Message类的一个字段;同时是用来唯一标识唯一的Message模型对象,也就是Object ID,或者可以认为是模型Message对应的数据表message的主键。
二、界面模型MessageForm配置:
| <actionForm name="messageForm"/> | 可能你已经注意到:这里并没有写界面模型完整类:sample.web.MessageForm,而好像是MessageForm类的名称messageForm。 那么配置中messageForm名称是从哪里来的呢?是struts-config.xml中ActionForm定义名称,如下:
<struts-config> <form-beans> <form-bean name="messageForm" type="sample.web.MessageForm" /> …… </form-beans> ….. </struts-config> | 可见我们的界面模型完整类sample.web.MessageForm是在struts-config.xml中form-beans中配置,并且命名为messageForm,而这个messageForm就是jdonframework.xml中的messageForm。
三、模型服务MessageService配置:
在jdonframework.xml中首先申明MessageService完整实现是类sample.service.MessageServiceImp,并且取名为messageService: <pojoService name="messageService" class="sample.service.MessageServiceImp"/>
这样,我们就可以详细将我们自己编写的messageService的CRUD方法名告诉Jdon框架了:
<handler> <!-- 以下配置MessageService --> <service ref="messageService"> <getMethod name="getMessage" /> <createMethod name="createMessage" /> <updateMethod name="updateMessage" /> <deleteMethod name="deleteMessage" /> </service> </handler> | 黑体字部分正是messageService所指的类sample.service.MessageServiceImp所继承的接口sample.service. MessageService四个方法,可见前面代码步骤第二步。
配置之二:界面流程配置
界面流程主要是配置CRUD界面流程,Jdon框架CRUD流程主要分两个部分:第一是推出供用户新增修改删除的页面;第二是接受用户提交新增修改过的数据,以便递交到业务层保存。
这部分配置主要是配置struts-config.xml:
第一、配置推出CRUD页面流程:
<action name="messageForm" path="/messageAction" type="com.jdon.strutsutil.ModelViewAction" scope="request" validate="false"> <forward name="create" path="/message.jsp" /> <forward name="edit" path="/message.jsp" /> </action> | 其中com.jdon.strutsutil.ModelViewAction是Jdon框架类。只要客户端浏览器调用http://localhost:8080/messageAction.do,通过上述配置将激活forward的name="create"流程,就能得到一个空白表单的页面message.jsp;如果客户端浏览器调用http://localhost:8080/messageAction.do?action=edit&messageId=18,通过上述配置将激活forward name="edit"流程,得到一个填满数据的表单页面,供用户修改。
第二、配置:接受用户提交新增修改过的数据,以便递交到业务层保存:
<action name="messageForm" path="/messageSaveAction" type="com.jdon.strutsutil.ModelSaveAction" scope="request" validate="true" input="/message.jsp"> <forward name="success" path="/result.jsp" /> <forward name="failure" path="/result.jsp" /> </action> | 其实在上一步的message.jsp中已经使用到这一步的配置,在message.jsp的表单action值就是本步配置的path值:/messageSaveAction.do:
<html:form action="/messageSaveAction.do" method="POST" > <html:hidden property="action"/> MessageId:<html:text property="messageId"/> <br>Name:<html:text property="name"/> <br><html:submit property="submit" value="Submit"/> </html:form> | 在上面message.jsp中一定要有<html:hidden property="action"/>一行。
至此,模型Message的CRUD功能开发完毕。
|