1.在src中不同package中定义两个类LoginAction
jk包中:
public class LoginAction extends ActionSupport{
private final String success = "success";
private final String error = "error";
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()
{
if(getUsername().equals("jk") &&
getPassword().endsWith("123"))
{
ActionContext.getContext().getSession().put("user", getUsername());
return success;
}
else
{
return error;
}
}
}
org.apache.struts.actionresult包:
public class LoginAction {
private String username;
private String password;
private String tip;
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 getTip() {
return tip;
}
public void setTip(String tip) {
this.tip = tip;
}
public String execute() throws Exception
{
if(getUsername().equalsIgnoreCase("my"))
{
throw new MyException("自定义异常");
}
if(getUsername().equalsIgnoreCase("lang"))
{
throw new java.lang.Exception("用户名不能为lang");
}
if(getUsername().equals("jk"))
{
setTip("登录成功");
return "success";
}
else{
return "error";
}
}
}
MyExeption
public class MyException extends Exception {
public MyException()
{}
public MyException(String msg)
{
super(msg);
}
}
第一个类是普通登录类,第二个用来测试struts2的异常处理!
2.struts.xml中配置方式:
<package name="jk" extends="struts-default">
<action name="login" class="jk.LoginAction">
<result type="redirect">/success.jsp</result>
</action>
</package>
<package name="org.apache.struts.actionresult" extends="struts-default" namespace="/exception">
<global-results>
<result name="lang">/lang.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="lang" exception="java.lang.Exception">
</exception-mapping>
</global-exception-mappings>
<action name="exception/login" class="org.apache.struts.actionresult.LoginAction">
<exception-mapping result="my" exception="org.apache.struts.actionresult.MyException" />
<result name="my">/my.jsp</result>
</action>
</package>
3.jsp中代码:
<s:form action="login">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit key="login"/>
</s:form>
<s:form action="login" namespace="/exception">
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit key="login"/>
</s:form>
即可用使用命名空间来区别两个action中的login。
但是在测试中发现一个问题:
No configuration found for the specified action: 'exception/login' in namespace....
也就是说在命名空间中找不到exception/login这个action
只需要把JSP中写成这样就可以了:<s:form action="login" namespace="/exception">!
分享到:
相关推荐
Struts2中struts_xml的Action配置详解
Struts 2使用注解配置Action,不配置struts.xml,通过注解直接配置action
·Struts2配置文件介绍 struts.xml action package ·Struts2配置文件介绍 struts.xml action package
struts2 src 包中除了jar 文件,其余的全部都在。
struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置文件以及代码示例struts2配置...
struts2配置过滤器 示例代码
资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验...
struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx
Struts 2实战 struts2 in Action
6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、模板和主题 144 7.2.1 标签 146 7.2.2 模板 146 7.2.3 ...
Struts2配置详解,Struts2配置详解,Struts2配置详解,Struts2配置详解,Struts2配置详解
1、在struts2的action中可以通过实现ServletResponseAware/ServletResquestAware接口 (org.apache.struts2.inteceptor.ServletResponseAware/ServletResquestAware)直接访问 HttpServletResponse/HttpServletRequest...
struts2 Https , 轻松开发基于struts2的https开发
Struts2上传和下载Action配置 上传:获取名称和类型,复制到固定文件里 下载:该方法的返回值为一个InputStream流。
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置...
struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶...
javaEE学习阶段,struts2初步使用环境配置。 javaEE学习阶段,struts2初步使用环境配置。
struts2 jar包及配置文件,大家一起分享
从jsp页面提交form表单后,在struts.xml中寻找匹配的action。在action中处理完业务后返回,在struts.xml中的result属性中转向到另外一个action。
struts2 配置dtd 自动提示 struts2 配置dtd 自动提示