本文共 1362 字,大约阅读时间需要 4 分钟。
通配符在Struts中是一种强大的功能,常用于路由定义中。`*`表示接收任意字符,而`{1}`表示将`*`捕获的内容传递给后续方法调用。例如,`login_*`表示接收所有以"login"开头的动作名称,而`{1}`则表示具体的方法名称。例如,`action`元素定义为`
要启用动态方法调用,需要在配置文件中设置`struts.enable.DynamicMethodInvocation`为`true`。这样,当浏览器请求访问`login!LoginA`时,会自动调用`LoginAction`类中对应的`LoginA`方法。
在Struts中获取Session值有以下三种方式:
1. **通过`ActionContext`上下文获取**
`ActionContext.getContext().getSession().put(name, value);`
2. **通过`ServletActionContext`获取**
`HttpServletSession session = ServletActionContext.getRequest().getSession(); session.setAttribute(name, value);`
3. **通过实现`ServletRequestAware`接口获取**
在Action类中实现`ServletRequestAware`接口,覆盖`setServletRequest`方法,可以通过`Request.getSession().setAttribute(name, value);`来设置Session值。
要在Action类中执行验证,可以在类名上继承`ActionSupport`,然后添加自定义的验证方法。例如:
1. 在类名上继承`ActionSupport`
`class loginAction extends ActionSupport {`
2. 添加验证方法
`public void validateLoginA(){ this.addFieldError("namenull", "用户名或密码不能为空!");}`
3. 在`validate`方法中调用自定义验证方法
在`validate`方法中调用`validateLoginA()`,这样在访问`login!LoginA`时会先执行验证。
为了实现网页倒计时跳转,可以使用以下两种方式:
1. 使用`meta`标签
`
`这样页面会在5秒后自动刷新跳转到`menu.jsp`。
2. 使用JavaScript实现
```javascript$(function(){ var t=5; function a(){ if(t<0){} else{ $( "h2" ).text(t+" s!"); t--; setTimeout(a,1000); } }; a(); });```
这样可以在页面加载后显示倒计时,5秒后跳转到指定页面。
转载地址:http://esnq.baihongyu.com/