- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WEBWORK框架说明
框架类
使用WEBWORK框架,必须继承WEBWORK的AcctionSupport,该类由框架提供,框架具有两个抽象方法:
protected void doValidation()
protected String doExecute() throws Exception
WEB类简化的代码如下:
/**
* @webwork.action name=sort.add success=sort.list.action error=/showError.jsp
*/
public class XxxxxAction extends ActionSupport {
private xxxx;
protected void doValidation() {
super.doValidation();
}
protected String doExecute() throws Exception {
if (super.getHasErrorMessages()) return ERROR;
try {
sortData = sortMgr.createSort(bigSortId,sortData);
} catch (javax.ejb.CreateException e) {
super.addErrorMessage(super.getText(bigSort.notFound));
return ERROR;
}
return SUCCESS;
}
}
注意:框架类之间可以互相继承,但是父类不能有xdoclet的Action 声明,否则产生出来的 perter文件中,会出现:一个Action名对应两个Action类
框架调用流程
用户提交后JSP发出提交请求到Action,Acion中首先调用doValidation()方法,改方法主要负责检查用户提交的表单,在这个函数中可以根据需要设置检查的项目。
然后调用doExecute()方法,改方法主要负责跟EJB后台部分打交道。业务逻辑的调用主要在这里实现。
如果正确,返回到设置的SUCCESS页面,错误返回ERROR页面。
WEBWORK会根据页面的映射perties,改映射文件由XDOCLET自动生成,只需要在Action申明前添加JAVA DOC。
图。WEBWORK框架调用过程简要图
我们对框架的扩展
有了框架(WEBWORK)并不代表就能解决所有问题了,比如需要使用SESSION,COOKIES和用到分页机制的时候,我们就需要在WEBWORK框架上搭建自己需要的框架。
对Session扩展SussionSupport
includeFile\SessionSupport.java
对分页机制的扩展PageListSupport
includeFile\PageListSupport.java
分页是B/S系统所必须要的实现的功能,几乎每个包涵列表的JSP页面都需要分页机制。我们对ActionSupport做了分页的扩展,需要计算分页的Action都继承此类。这样实现代码的重用,简化代码的复杂性。
WEBWORK标签库
显示到页面
如果带有中文的,就必须加入:escape=false属性
webwork:property value=modifyDate escape=false/
输入到Action的写法
只需要在FORM中的元素名做变动:某某Data/属性域
form的Action 名指向数据需要提交到的那个 Action名。
Action中要有相应的set/get方法。
form method=post name=addForm action=news.add.action
textarea name=newsData/content id=content
/textarea
/form
列表
如果从Action过来,则可以不需要在页面声明webwork:action
前面声明过的ID,可以在后面继续使用,不过前面要加@号
如果从URL上面下来的变量(从request读出的变量),前面要加$号,例如:request.getParamater(“test”) 可以用webwork:property value=”$test”/代替。
webwork:action name=newsTopic.list id=newsTopic
webwork:iterator value=@newsTopic/newsTopicList
文档评论(0)