|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。web|静态 一样平常情形下,webwork利用字段驱动大概模子驱动体例猎取表单中的数据.(一般表单)
可是有的情形下,必要编纂的字段称号内容都是静态变更的,此时就没法利用断定的类来做映照.
此时我想到有以下几种办法办理:
1.利用webwork的外部工具,掏出一切参数
ActionContextcontext=ActionContext.getContext();
Mapparams=context.getParameters();
操纵params就能够猎取一切参数
2.利用Map映照
Map有get,put函数,比方get("name"),put("name","scud")
经由实验(文档中没有对此的申明,webwork的文档今朝还很少,也多是我没浏览到)
在表单中映照接纳如许的体例:
<inputname="fields.name">
读取值则接纳fields[name]的体例,这个文档中提到了
详细的文件以下:
A:输出页面
<%@tagliburi="webwork"prefix="ww"%>
<html>
<head>
<title>WebWorkTest2</title>
</head>
<body>
<p>Whatsyourname?</p>
<formaction="hello.action"method="post">
<p>
<inputtype="text"name="field.person"/><br>
<inputtype="submit"/>
</p>
</form>
</body>
</html>
B:success转向的页面
<%@tagliburi="webwork"prefix="ww"%>
<html>
<head>
<title>WebWorkTest2</title>
</head>
<body>
Hello,<ww:propertyvalue="field[person]"/><br>
</body>
</html>
C:用到的Action类
packagehelloWorld;
importcom.opensymphony.xwork.*;
importjava.util.*;
publicclassHelloActionextendsActionSupport
{
privateMapfield=newHashMap();
publicStringexecute()throwsException
{
returnSUCCESS;
}
publicvoidsetField(Mapfield)
{
this.field=field;
}
publicMapgetField()
{
returnfield;
}
}
D:xwork.xml内里的部分派置
<actionname="hello"class="helloWorld.HelloAction">
<resultname="error"type="dispatcher">ex02-index.jsp</result>
<resultname="success"type="dispatcher">ex02-success.jsp</result>
</action>
3.利用用户自界说类来完成
这类体例未几会商,用户的类大概必要完成getXXX(StringsKey)相似的函数.
总结:
固然应当另有其他办法完成,并且大概更好,不外我刚看webwork没有几天,对我体贴的成绩提出了下面的办法,一定是对照复杂的设法.
假如那位有其他办法,请不吝珠玉.
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 |
|