当我们用Struts2来开发Web应用程序时,需要进行相关的配置,其中最主要的配置文件就是struts.xml。在这个文件中,我们需要配置Action以及对应的Result、Interceptor等等。
下面是struts.xml的一个简单示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="default" extends="struts-default">
<action name="login" class="com.example.action.LoginAction">
<result name="success">/login-success.jsp</result>
<result name="error">/login-error.jsp</result>
</action>
</package>
</struts>
以上的示例代码中,我们配置了一个名为”login”的Action,映射到了名为“com.example.action.LoginAction”的类。
同时为这个Action配置了两个Result,其中“success”指示登录成功时跳转到“/login-success.jsp”,“error”指示登录失败时跳转到“/login-error.jsp”。
同时我们还为这个包设置了一个继承自struts-default的默认值,并设置了一个常量,用于启用或禁用动态方法调用(DMI)。
在Action中,我们需要实现execute方法来处理请求。下面是一个简单的示例:
public class LoginAction extends ActionSupport {
private String username, password;
public String execute() {
if ("admin".equals(username) && "password".equals(password)) {
return SUCCESS;
} else {
return ERROR;
}
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
}
以上的示例代码中,我们实现了ActionSupport接口的execute方法,并在其中验证了用户名和密码。如果验证成功,我们返回SUCCESS,否则返回ERROR。
同时,我们还提供了setUsername和setPassword方法,以便在请求到达时设置属性值。
这就是一个简单的Struts2配置和Action的例子。当然,实际应用中会更加复杂,可能涉及到多个Action之间的协作、拦截器的使用等等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2的配置 struts.xml Action详解 - Python技术站