1.通配符*
<action name="login_*" class="com.action.LoginAction" method="Login{1}">
<result name="success">/success.jsp</result>
</action>
Login_*:*表示接收任意字符,
{1}:表示第一个通配符*所传递过来的内容,如果*为A,那{1}就代表A,那么method就是LoginA方法
{0}:表示匹配所用action name的内容 例如:login_A
2.DynamicMethodInvocation:动态方法调用
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
设置是否动态方法调用,value设置为true,就表示为开启状态,允许动态方法调用
动态方法如何调用:
在浏览器地址栏输入要访问的Action名字(name)由!+方法调用,格式为 login!LoginA 表示访问action的name为login的类中LoginA的方法。
- 如何获取session向Session中存储值(3种方式)
- ActionContext上下文获取
ActionContext.getContext().getSession().put(name,value);
- ServletActionContext方式获取
HttpServletSession session=ServletACtionContex t.getRequest().getSession();
Session.setAttribute(anme,value);
- 通过实现ServletRequestAware里的方法,获取
Class login implements ServletRequestAware{
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
Request.getSession().Session.setAttribute(a nme,value);
}
}
- Validate
this.addFieldError("namenull", "用户名或密码不能为空!"); 在validate验证方法里,加上这行代码的效果是添加错误字段验证,在前台获取的方式是
1.加载struts2标签,
<%@ page taglib uri=”/struts-tags” prefix=”s”%>
- 获取字段验证错误信息:
<s:fielderror fieldname=”namenull”></s:fielderror>
- 如何在Action类中执行LoginA()方法之前,执行验证LoginA()的方法
1.在类名上继承ActionSupport
Class loginAction extends ActionSupport{
}
- 添加LoginA()方法
Public String LoginA(){
Return “success”;
}
- 添加验证LoginA的方法(一般都是 validate+XXX(LoginA))例如:
Public void validateLoginA(){
在里面添加判断或者验证错误信息
this.addFieldError("namenull", "用户名或密码不能为空!");
}
5.前端网页倒计时刷新跳转
<meta http-equiv="refresh" content="5;url=menu.jsp">
网页5秒后刷新跳转到menu.jsp页面
倒计时代码:
<script type="text/javascript">
$(function(){
var t=5;
function a(){
if (t<0){}else{
$("h2").text(t+" s!");
t--;
setTimeout(a,1000);
}
}
a();
})
</script>
大概今天就这么多内容。