1.当使用type=“redirectAction” 或type=“redirect”提交到一个action并且需要传递一个参数时。这里是有区别的:
使用type=“redirectAction”时,结果就只能写Action的配置名,不能带有后缀:“.action”2.在Action中定义:
private User user;user有get/set方法。EL取值:
${user.username}struts2取值:
<s:property value="user.username" /> //从ValueStack中取值
或
<s:property value="#user.username" /> //从Request中取值
Map sessionMap = ActionContext.getContext().getSession();
??????????? sessionMap.put("qi", qi);
public class LoginAction extends ActionSupport {
?private User user;
?
?//用于保存请求重定向到的action的名字
?private String nextAction;
?public User getUser() {
??return user;
?}
?public void setUser(User user) {
??this.user = user;
?}
?public String getNextAction() {
??return nextAction;
?}
?public void setNextAction(String nextAction) {
??this.nextAction = nextAction;
?}
?@Override
?public String execute() throws Exception {
??System.out.println("***************** "+user.isManager());
??//如何把user的manager传入的字符转换成boolean类型?
??if(user.isManager())
???nextAction="manager";
??else
???nextAction="employee";
??
??return SUCCESS;
?}
}
<action name="login"
???class="act.LoginAction">
???<result type="redirectAction">${nextAction}?name=${user.name}</result>
???<!-- LoginAction里的属性值name传到nextAction ,传递中文出现乱码-->
???</action>
<action name="employee"
???class="act.EmployeeAction">
???<result>/result.jsp</result>
???</action>
<table border="1">
??? ?<s:form action="/loginns/login.action">
???? ?<tr>
???? ??<td><s:textfield name="user.name" label="用户名" cssStyle="width:120px;"></s:textfield></td>
???? ?</tr>
???? ?<tr>
???? ??<td><s:password name="user.password" label="密码" cssStyle="width:120px;"></s:password></td>
???? ?</tr>
???? ?<tr><!-- 传入的值如果不是true,其它的都转换成false -->
???? ??<td><s:radio name="user.manager"? value="false" list="#{true:'是',false:'否'}" label="是否管理员"></s:radio></td>
???? ?</tr>
???? ?<tr>
???? ??<td align="center"><s:submit value="登陆"></s:submit></td>
???? ?</tr>
??? ?</s:form>
??? </table>
${param.name }(el)美元符号是El表达式
??? <s:property value="#parameters.name"/>(ognl)这个是OGNL来获取值
来自:
http://www.24xuexi.com/w/2011-06-22/93050.html
分享到:
相关推荐
在上面的配置中,使用 Redirect-action 配置将结果重定向到一个 Action,同时传递参数 Xml 代码。Redirect 配置则不同,它需要指定完整的 URL 地址。 Struts2 框架中 Result 配置类型非常多样化,每种类型都有其...
总的来说,Struts2提供了多种方式来向结果传递参数,这使得它在处理复杂的业务逻辑和页面跳转时具有高度的可定制性。根据项目的具体需求,选择合适的方法可以提高代码的可维护性和效率。在实践中,结合使用不同的...
2. **RedirectAction**:类似于Redirect,但重定向到另一个Action,可以传递参数,适合实现业务流程跳转。 3. **Stream**:用于处理需要流式传输的内容,比如下载文件或图片,它能直接将数据写入到HTTP响应的输出流...
为了实现这个功能,Struts2使用了OGNL(Object-Graph Navigation Language)表达式语言来解析和绑定参数。OGNL允许我们访问对象的属性并进行值的设置,因此在Action方法中可以直接使用参数名来引用表单中的字段。 ...
下面将详细介绍如何在Struts2中实现Action之间的跳转以及如何在跳转过程中传递参数。 #### Struts2框架简介 Struts2是基于Struts1发展起来的一个Web应用框架,它继承了Struts1的优点,同时又克服了其缺点,引入了...
在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...
Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性接收参数 在 Struts2 中,可以使用 ...
让我们深入探讨一下`Result`标签的使用以及在Struts2框架中的作用。 ### 1. Struts2框架概述 Struts2框架基于MVC设计模式,主要由四部分组成:Action、ActionMapping、Result和Interceptor。Action负责处理用户的...
这使得开发者能够在不同的Action之间进行跳转,并且能够传递参数。 ##### 4. **velocity** `velocity`类型用于渲染Velocity模板。通过`location`属性指定模板的位置,模板文件通常以`.vm`作为扩展名。如果`parse`...
通过配置`<result name="success" type="dispatcher">`,Struts2会将控制权传递给指定的JSP页面。 3. FreeMarker Result FreeMarker Result用于处理FreeMarker模板,FreeMarker是一种模板语言,可以方便地与Java...
至此,你已经掌握了如何使用Struts2的JSON插件进行数据传递的基本步骤。然而,Struts2 JSON插件还提供了许多高级特性,如自定义JSON序列化策略、处理复杂类型、支持国际化等。在实际开发中,你可以根据项目需求灵活...
使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样Struts2会将Action的返回对象转换成JSON格式并返回给前端。 **Ajax请求与JSON数据** 前端JavaScript代码使用XMLHttpRequest对象或现代...
在上面的例子中,`myAction`执行完成后,浏览器将被重定向到`anotherAction`,在`/anotherNamespace`命名空间下,并且传递了参数`param1=value1`和`param2=value2`。 **redirectAction Result的优缺点:** 优点: 1...
默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了多种Result类型,以满足不同场景的需求。 1. **dispatcher**: 这是最常见的Result类型...
“Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及返回值类型。开发者可以通过查阅此文档,快速查找特定功能的实现方式,例如ActionSupport类,...
在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...
本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...
5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在Action和视图之间传递数据。通过OGNL,可以在JSP页面中直接访问Action中的属性,或者在Action中动态设置模型数据。 6. ...
对于大多数公司而言,Struts2主要用于处理HTTP请求,获取前端传递过来的参数,并调用后端服务层进行业务逻辑处理。处理完业务逻辑之后,Struts2会根据配置返回相应的视图结果给用户。 **1.3 Struts2的工作流程** ...
总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...