struts.xml的参数说明
标签
- 标签:主要的功能用于分模块的。
- 将Action配置封装,可以在Package中配置多个action
需求:现在项目有 两个模块,一个是前端用户模块,一个是后台管理员模块。两个模块都要登录的方法。
struts.xml文件
- namespace:用于指定路径必须包括命名空间的目录
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "struts-2.3.dtd" >
<struts>
<!-- 请求路径和执行方法的关系 package标签:主要的作用是用于分模块
name:唯一标识符,同一个项目,package的名字不可以相同
extends:继承,基于继承其他包的功能。
struts-default是框架内置的package。 如果不继承会导致,内置的功能组件不能使用
namespace:用于指定路径必须包括命名空间的目录
-->
<!-- 声明一个表,用于配置用户模块的请求 -->
<package name="user" extends="struts-default" namespace="/user">
<action name="login" class="com.action.UserAction"
method="login">
<result name="login">/login.jsp</result>
</action>
</package>
<!-- 声明一个模块,用于配置管理员的请求 -->
<package name="admin" extends="struts-default" namespace="/admin">
<action name="login" class="com.action.AdminAction"
method="login">
<result name="login">/login.jsp</result>
</action>
</package>
</struts>
Action代码
- UserAction
public class UserAction {
/**
* 声明一个用户登录
* @return
*/
public String login(){
System.out.println("-用户登录-");
//视图映射字符串
return "login";
}
}
- AdminAction
public class AdminAction {
/**
* 声明一个管理员登录
* @return
*/
public String login(){
System.out.println("-管理员登录-");
//视图映射字符串
return "login";
}
}
请求页面 index.jsp
<body>
<a href="${pageContext.request.contextPath }/user/login">用户登录</a>
<a href="${pageContext.request.contextPath }/admin/login">管理员登录</a>
</body>
视图view
<body>
登录成功!!!
</body>