<package name="tcfy-default" extends="struts-default" namespace="/">
<action name="login">
<result>/login.jsp</result>
</action>
</package>
以上是默认包;
下面是模块子包;
我需要重定向到子包的action:login
<package name="User" extends="tcfy-default" namespace="/User">
<action name="loginUser" class="loginUser">
<!--如果登录成功转向到主界面,如果失败转向到登录界面
bug:如果能将这两个放在默认包就更好
-->
<result name="success" type="redirect">/index.jsp</result>
<result name="input" type="redirect">/login.jsp</result>
</action>
当前的处理是直接访问应用上下文中的jsp资源,觉得这样不太好;
请帮忙看看,谢谢!
问题补充:<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="com.tcfy.bean.User"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<link rel="stylesheet" href="../css/document_catalog.css" type="text/css">
<%int type = ((User)request.getSession().getAttribute("user")).getType();%>
<aside>
<div class="second_level_box">
<nav class="aside_nav">
<div class="second_level">
<h2>管理列表</h2>
<ul class="project_mannage">
<li>
<a href="<%=request.getContextPath()%>/User/modifyPassword.jsp">
修改密码
</a>
</li>
<%= type%>
!一下这个s2 tag 不能进行决策,是什么情况? 我的理解是s2在解析tag的时候是在jsp被解析之后,那么<%= type%>这个成员变量,已经会被转换成db中对应的int类型的type值了,比如说1,那么使用test="1 == <%= type%>"的时候,这个表达式已经被确定了——》“1==1”,应该就会返回true,但是在界面上面却没有显示?
说明我上面的理解错了,但是直接使用<% if(1 == type){%>却能完成逻辑的判断,请大家帮忙分析一下,谢谢;
<s:if test="1 == <%= type%>">
<li>
<a href="<%=request.getContextPath()%>/User/listUser.action?start=0&range=5"/>
用户管理
</a>
</li>
</s:if>
<% if(1 == type){%>
<li>
<a href="<%=request.getContextPath()%>/User/listUser.action?start=0&range=5"/>
用户管理
</a>
</li>
<%}%>
</ul>
</div>
</nav>
</div>
</aside>
问题补充:<s:if test="1 == <%= type%>"> 的问题解决了 呵呵 温习了一下s2的标签库,直接从session中将use的tyoe获取到,之后就完成了过滤~
但是package的问题还想请大家帮忙看看~
相关推荐
在 Struts2 中,还可以配置默认的 Action,例如:<package ...><default-action-ref name="myDefaultAction"/></package>这时,我们可以在 struts.xml 文件中定义一个默认的 Action,例如:<action name=...
在Struts2中,Action是处理用户请求的核心组件。它负责业务逻辑的执行,并将结果返回给视图进行展示。本篇文章将详细介绍Struts2 Action的三种访问方式:传统方式、通配符方式和动态方式。 1. **传统方式(Static ...
在Struts2中,包(Package)是一种组织Action和配置的机制,它可以帮助我们更好地管理和分组相关的配置信息。 Struts2的包概念是基于Apache的Commons Configuration库,它允许开发者创建多层次的配置结构。每个包...
在 Struts2 中,可以使用 Action 的属性来接收参数。具体步骤如下: 1. 在 Action 类中定义属性,例如 `userName`,并创建对应的 get 和 set 方法。 2. 在 JSP 页面中,使用表单或其他方式将参数传递给 Action。 3....
在JSP页面中,可以使用EL表达式来获取Action中设置的值。 ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> 动态方法调用 ${message} ``` #### 五、总结 本文详细介绍了Struts 2框架中Action动态...
当你在Action中抛出异常或者使用validate方法进行数据验证时,可以通过addActionError方法添加错误信息。例如: ```java public class MyAction extends ActionSupport { public String execute() throws ...
Struts2配置默认Action的方法详解 Struts2是一个基于MVC...在本文中,我们详细介绍了Struts2中配置默认Action的方法,并讨论了默认Action的使用场景和好处。希望本文能够帮助读者更好地理解Struts2中的默认Action。
通过以上两种方法,你可以有效地解决Struts2 Action中处理中文乱码的问题。选择哪种方法取决于你的具体需求和项目结构。一般来说,如果你的整个应用都使用同一种编码格式,那么在Struts2配置中设置全局编码可能更...
在Eclipse中运行Struts应用程序,需要安装特定的插件和配置相关的库。下面将详细介绍如何在Eclipse中准备和配置运行Struts所需的包。 首先,你需要下载并安装Struts 2框架。这里提供的压缩包文件是`struts-2.1.8`,...
- **`redirect-action`**: 相对于 `redirect`,`redirect-action` 类型的 Result 只能用于重定向到当前应用中的另一个 Action,并且默认情况下只能在同一命名空间内跳转。这种方式不会改变浏览器地址栏中的 URL,...
在`struts.xml`中,一个Action配置通常由`<action>`元素定义,包含了多个属性,如`name`、`class`、`method`等。 `name`属性用于定义Action的唯一标识,它在请求URL中出现,用于区分不同的Action。例如: ```xml ...
默认情况下,Struts2会调用Action类中的execute方法来处理请求。但是,通过`method`属性,我们可以指定不同的方法对应不同的Action,这样可以实现一个类中多个方法的映射,提高代码复用性。例如: ```xml <action ...
在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来...
在 Struts.xml 文件中,我们可以定义 package、action、interceptor、result 等多种元素,以便于实现具体的业务逻辑。 Package 元素 Package 元素是 Struts.xml 文件中的一个基本元素,用于定义一个应用程序的模块...
- **Interceptor**:在`package`元素内部,可以定义拦截器或引用拦截器堆栈,拦截器是Struts2中非常重要的组件,用于在Action执行前后进行一系列的前置和后置处理操作,比如登录验证、数据校验等。 - **Result ...
在 Struts2 中,可以通过实现Aware接口来获取 Response 对象。例如,要获取 HttpServletResponse 对象,需要实现 org.apache.struts2.interceptor.ServletResponseAware 接口。下面是一个示例代码: ```java ...
在Struts2的配置中,`<package>` 是一个逻辑分组的概念,它可以包含多个Action配置、拦截器栈定义、结果类型映射等。每个 `<package>` 都有独立的作用域,可以继承其他包,从而实现配置的复用和扩展。 下面是一些 `...
通过`verifyActionErrors`验证了Action中是否出现了密码不匹配的错误,并且确保没有设置`authentication`属性。 ### 总结 通过上述代码分析可以看出,Struts2框架中的Action是非常重要的组成部分,它负责处理用户...
- **定义**:在Struts2框架中,**Action** 是用来处理客户端请求的核心类。当用户通过浏览器发送请求时,Struts2会将请求转发给相应的Action处理。 - **执行流程**: - 用户发起HTTP请求。 - 请求被Struts2的前端...
本篇将详细讲解如何在Struts2中配置Action来返回JSON响应。 首先,我们需要了解Struts2的Result类型。默认情况下,Action会返回一个JSP页面作为结果,但通过配置,我们可以让Action返回JSON数据。这需要使用到一个...