到 Google 资讯主页   
EasyJF首页   资料   源码   软件    论坛   网站    
   使用帮助    
    该信息为本站MyRSS系统缓存内容,部分图片及附件有可能无法正常使用.easyjf.com天极java无关,不对该信息负责.通过http://kb.csdn.net/keyword/java//../../java/Articles/200603/6245f3a4-2f57-407d-bef0-eb82664d3254.html访问该信息的原始内容.
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   
Java开源架构Jdon应用系统案例开发
作者:彭晨阳 来源:天极java  发布时间:2006-03-14 00:00:00.0

  配置之一: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功能开发完毕。

 
相关文章
 
页面功能  【加入收藏】 【推荐给朋友】 【字体:  】 【关闭】   


EasyJF.com 2006 隐私政策 使用EasyJF前必读