struts2 用户提交表单时 JSP页面 Action类

1、在web.xml中配置过滤器

 <filter>
  <filter-name>WebQuery</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>WebQuery</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

2、用户提交页面,表单action=myaction

<s:form action="myaction" method="post">
<s:textfield label="用户名" name="username"></s:textfield>
<s:password label="密 码" name="password"></s:password>
<s:submit name="submit" value="提交"></s:submit>
</s:form>

3、根据表单中的myaction,在struts.xml中寻找名为action名字为myacton的定义

<struts>
<package name="WebQuery" extends="struts-default">
<action name="myacton" class="com.test.action.LoginAction">
<result name="input">/login2.jsp</result>
<result name="成功">/result.jsp</result>
<result name="失败">/login2.jsp</result>
</action>
</package>
</struts>

4、执行struts.xml中myaction相对应的myclass (myclass 从ActionSupport继承)

5、在myclass中,当用get或set方法给变量进行赋值之前,进行局部或全局类型转换

public class LoginAction extends ActionSupport {
// 将表单数据填充到变量中
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
// 根据表单中的内容,进行页面跳转
public String execute() throws Exception {
if ("hello".equals(getUsername().trim())
&& "world".equals(getPassword().trim())) 
{
return "成功";
} else {
this.addFieldError("username", "用户名或密码不正确");
return "失败";
}
}
public void validate() {
if ("".equals(this.getUsername().trim())
|| (null == this.getUsername().trim())) {
this.addFieldError("username", "用户名为能为空");
}
}
}

6、局部类型转换:在myclass所在的包(目录)中寻找类型转换的配置文件。文件名为:classname-conversion.properties,内容为:变量名称(小写)=执行转换的类名(全路径)

如:point=com.test.converter.PointConverter_Private

(执行转换的类名 从DefaultTypeConverter继承,或从StrutsTypeConverter继承)

7、全局类型转换:如果已经局部类型转换则跳过此步,在struts.xml包(目录)中寻找名为:xwork-conversion.properties的文件,内容为:被转换的类名(全路径)=执行转换的类型名(全路径)
如:com.test.bean.Point=com.test.converter.PointConverter_Public

8、类型转换之后变量才会被赋值。

9、执行myclass中的execute方法,并返回

10、struts.xml中,根据myclass的返回结果,进行页面跳转

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值