Webwork的Action Mapping相比Struts的过人之处
来源:互联网 发布:qq游戏网络断了要等 编辑:程序博客网 时间:2024/05/08 05:37
如果要完成一个对象的CRUD操作,在struts中有两种办法
1.为每一个操作都建立一个action和路径映射
2.使用dispatchAction,在struts-config.xml中使用param参数进区分,调用不同的方法
这两种办法有一个共同之处,就是有多少个操作,就需要在struts-config.xml中配置多少个action
但在webwork中,只需要一个action path就足够了,因为他有一种特有的调用方式
这是xwork.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" >
<xwork>
<include file="webwork-default.xml"></include>
<package name="default" extends="webwork-default">
<default-interceptor-ref name="completeStack"></default-interceptor-ref>
<action name="hellopeople" class="ch2.example1.HelloPeople">
<result name="success">/ch2/nameresult.jsp</result>
<result name="input">/ch2/name.jsp</result>
</action>
</package>
</xwork>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "xwork-1.0.dtd" >
<xwork>
<include file="webwork-default.xml"></include>
<package name="default" extends="webwork-default">
<default-interceptor-ref name="completeStack"></default-interceptor-ref>
<action name="hellopeople" class="ch2.example1.HelloPeople">
<result name="success">/ch2/nameresult.jsp</result>
<result name="input">/ch2/name.jsp</result>
</action>
</package>
</xwork>
这是HelloPeople的代码:
package ch2.example1;
import java.util.Map;
import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
public class HelloPeople extends ActionSupport implements Action...{
private String message="";
private String name="";
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String execute() throws Exception ...{
if(name==null||name.equals("")||name.equals("world"))...{
message="please input name";
addFieldError("name","blank name");
return INPUT;
}
else...{
message="hello"+name;
getSession().put("1", "123456");
return SUCCESS;
}
}
public String getMessage() ...{
return message;
}
public Map getSession() ...{
return ActionContext.getContext().getSession();
}
public String searchpeople()...{
if(name==null||name.equals("")||name.equals("world"))...{
message="please input name";
addFieldError("name","blank name");
return INPUT;
}
else...{
message="hello"+name+"welcome";
getSession().put("1", "123456");
return SUCCESS;
}
}
}
import java.util.Map;
import com.opensymphony.xwork.Action;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
public class HelloPeople extends ActionSupport implements Action...{
private String message="";
private String name="";
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String execute() throws Exception ...{
if(name==null||name.equals("")||name.equals("world"))...{
message="please input name";
addFieldError("name","blank name");
return INPUT;
}
else...{
message="hello"+name;
getSession().put("1", "123456");
return SUCCESS;
}
}
public String getMessage() ...{
return message;
}
public Map getSession() ...{
return ActionContext.getContext().getSession();
}
public String searchpeople()...{
if(name==null||name.equals("")||name.equals("world"))...{
message="please input name";
addFieldError("name","blank name");
return INPUT;
}
else...{
message="hello"+name+"welcome";
getSession().put("1", "123456");
return SUCCESS;
}
}
}
execute是默认的执行方法,但是,如果我们要执行searchpeople要怎样做的,肯定是不能用一个不同的action path,因为在xwork中并没有为这个方法配置单独的path
webwork用一种表达式的方式实现了对action中函数的调用
请看jsp
<ww:form action="hellopeople!searchpeople.action">
<table border="1">
<tr>
<td colspan="2"><ww:textfield label="请输入名称:" name="name"/></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="submit"/></td>
</tr>
</table>
</ww:form>
<table border="1">
<tr>
<td colspan="2"><ww:textfield label="请输入名称:" name="name"/></td>
</tr>
<tr>
<td colspan="2"><input name="submit" type="submit" value="submit"/></td>
</tr>
</table>
</ww:form>
使用<ww:form action="hellopeople!searchpeople.action">就可以调用在xwork中配置的path--hellopeople中的searchpeople方法了
- Webwork的Action Mapping相比Struts的过人之处
- struts action-mapping中的input的作用
- Jive3.0 Webwork和 Jute1.0 Action Mapping 之间的比较
- webwork的action类方法
- webwork下action的测试
- Struts和Webwork的区别
- Struts Action Mapping
- webwork中,action 中变量的取得
- webwork 中,映射action的一点特性
- webwork中,action 中变量的取得
- webwork 标签 ww:action的使用
- webwork中,action 中变量的取得
- struts与webwork的历史联系
- struts常见问题——form bean的映射:Cannot retrieve mapping for action
- 用struts (webwork) 的action配置文件和ant进行权限配置(我所在项目的权限解决方案)
- Struts action-mapping 元素讲解
- Linux操作系统的安全性的过人之处
- Linux操作系统的安全性的过人之处
- [原创]EXCEL2007新增函数在发放统计的应用
- 图像缩放双线性插值算法
- Ajax简介
- 获取存储过程的返回值
- 同事发的:2007最新骗局 可怕的骗局请告诉周围的人
- Webwork的Action Mapping相比Struts的过人之处
- 向其他进程注入代码的三种方法
- 用 SEH 技术实现 API Hook
- 《数据结构》示范程序/图邻接矩阵表示
- java201
- 改变webwork的url *.action为自定义扩展名发生404错误解决
- 进程编程2 – Unix环境高级编程8章读书笔记
- Typo中新了解的一些东东
- 最流行的 Ajax/Java 框架