Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85927
  • 博文数量: 5
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-29 11:47
文章分类
文章存档

2010年(5)

我的朋友

分类: Java

2010-11-12 14:22:18

概念
 
简化的J2EEMVC模式实现,相对Struts,合并了ActionForm,增强表单到Java Bean的映射,自动映射T[]数组和ArrayList的数组链表。
使用
org.zjulhs.mvc.Controller使用HttpServlet实现控制器,在web.xml配置Servlet
web.xml

<servlet>
     <servlet-name>MVCController</servlet-name>
      <servlet-class>org.zjulhs.mvc.Controller</servlet-class>
      <init-param>
            <param-name>mvc-conf</param-name>
            <param-value>
                  /WEB-INF/foodOrder-conf.xml,
            </param-value>
      </init-param>
</servlet>
<servlet-mapping>
      <servlet-name>MVCController</servlet-name>
      <url-pattern>*.do</url-pattern>
</servlet-mapping>

Servlet的参数mvc-conf指定了控制器配置文件的位置,多个配置文件使用”,”分隔。
控制器配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<controller>
      <action-mapping>
            <action name="/foodList.do" class="org.my.FoodListAction">
                  <result name="success" path="/WEB-INF/jsp/foodList.jsp" method="forward"/>
            </action>
            <action name="/foodOrder.do" class="org.my.FoodOrderAction">
                  <result name="success" path="/WEB-INF/jsp/foodOrder.jsp" method="forward"/>
            </action>
      </action-mapping>
</controller>

/controller/action-mapping包含多个Action节点,配置请求处理类和转发。
Action可用属性有:
name
                HTTP请求的URI
class
                处理该请求的类,这个类必须为org.zjulhs.mvc.Action的子类
Action包含多个Result的节点,用于请求处理完成后的请求转发,一般转发到页面视图(View)
Result可用属性有:
name
                Action处理完成请求后的返回值
path
                请求处理的返回值对应的转发路径
method
                转发的方法,forward直接转发请求,redirect则使用HTTP的重定向方式重新发送请求,forward在服务端完成,redirect在客户端完成。
 
继承Action或者ParsedAction实现特定的请求处理。
Action保存了HTTP请求的HttpServletRequestHttpServletResponseHttpServlet,不做其他额外处理。
ParsedAction继承自Action,实现了表单数据到Action的属性的自动映射。
 
例子
 
附件j2ee-mvc-demo.zip是一个完整的示范项目,运行index.jsp可以查看结果,j2ee-mvc-src.zipmvc的源代码。
 
文件: j2ee-mvc-demo.zip
大小: 523KB
下载: 下载

 

文件: j2ee-mvc-src.zip
大小: 21KB
下载: 下载

阅读(940) | 评论(0) | 转发(0) |
0

上一篇:Java Bean属性值动态设置

下一篇:没有了

给主人留下些什么吧!~~