2010-06-23
1.set是向数据库里写内容,get是从数据库里读取数据。get方法得到JSP页面上输入的值内容
2.使用Struts2,XML配置型的校验可以使用三种方式:普通的服务器端校验方式,客户纯JavaScript方式端校验,和Ajax方式的校验。
1普通的服务器端校验方式:
客户端提交信息到服务器,在服务器上使用XML配置信息,校验客户端提交的信息,错误的情况下,返回input页面,显示校验错误信息。
2客户端纯JavaScript校验方式:
在输入画面上,根据XML文件中的配置内容生成对应的JavaScript校验脚本,在提交数据的时候首先使用这些生成的JavaScript校验输入信息,错误情况下在画面上显示错误信息,不需要向服务器提交内容,只有输入数据校验正确的情况下才向服务器提交请求。这种方式的校验不支持所有Struts2内置的校验,只支持一部分校验:
required validator
requiredstring validator
stringlength validator
regex validator
email validator
url validator
int validator
double validator
3Ajax方式校验
在提交请求的时候,首先使用AJAX的方式将数据提交到服务器,在校验出错的情况下在页面显示错误信息,但是不刷新页面,在校验成功的情况下,才向服务器提交请求。
三种方式比较
普通的服务端校验方式 客户端纯JavaScript Ajax方式
位置 服务器 客户端 服务器
是否刷新页面 是 否 否
校验代码 Java JavaScript Java
纯的JavaScript校验不刷新页面,但是也不能使用所有的Struts2校验方法;服务端校验可以使用所有Struts2的校验方法,但是需要刷新页面。
Struts2 Ajax校验,既不需要刷新页面,又可以使用Struts2内置的所有的校验方法,所以我们比较倾向于使用Ajax校验
3.structs.xml中的method=“{1}”:此处的{1}表示接受前面通配符传过来的值,
<action name="*DeviceType" class="com.water.struts2.action.device.DeviceTypeAction"method="{1}">
<result name="input">/pages/device/{1}DeviceType.jsp</result>
<result name="success">/pages/device/{1}DeviceType.jsp</result>
<result name="edit">/pages/device/editDevice.jsp</result>
<result name="list" type="redirect">/device/listDevice.action?${backURL}</result>
<result name="error">/pages/common/error.jsp</result>
<action>
在DeviceTypeAction中的edit,list,delect方法中出现多处的多处的input和success,如果是在edit中返回了input值,则在xml中相应的返回{1}DeviceType.jsp,此处的{1}为edit..
4.struct2的标志:<s:property value=”user”/>是从值栈列表中读取信息
取值要通过<s:property value=”" />或在任意的<s:/>标签内使用%{};
当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.
5. ${pageContext.request.contextPath }这是个EL表达式,可以用来得到工程的名字。