一,Struts2标签不支持EL表达式,应该用Ognl表达式,比如在<s:if>标签中
<s:if test="#msg==null"> <span id="welcomeInfo" >欢迎使用XX后台管理系统! </span> </s:if> <s:else> <span id="wrongInfo">${msg}</span> </s:else>
其中判断是用#msg==null来判断action中传递的参数msg是否为空
二,Action中如何将参数传递到jsp页面呢
ActionContext ac=ActionContext.getContext(); ac.put("msg", msg);
上面就相当于
HttpServletRequest传值,其余还有
ac.getApplication.put("",""); ac.getSession.put("","");
三,关于Struts2.xml文件中的Action的result中配置传递值
<result name="success" type="redirect"> <param name="location">/Login.jsp</param> </result>
以上就相当于
<result name="success" type="redirect"> /Login.jsp</result>
如何传递值呢
<result name="success" type="redirect"> <param name="location">/Login.jsp</param> <param name="msg" >${msg}</param> </result>
用以上方法action中必须有
ActionContext ac=ActionContext.getContext(); ac.put("msg", msg); 不能使用 HttpServletRequest ac =ServletActionContext.getRequest(); ac.setAttribute("msg",msg ); 否则接受不到参数
以上是动态传至,你也可以讲${msg}替换为"要传递的内容"
Jsp页面通过EL表达式获取
${param["msg"]} 等同于 <%=request.getParameter("msg")%>
此时可能出现乱码
只要将tomcat中的confg/server.xml文件中的
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 添加编码URIEncoding="utf-8",如下 <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
若是在eclipse下还要重新添加tomcat服务器
相关推荐
总的来说,Struts2提供了多种方式来向结果传递参数,这使得它在处理复杂的业务逻辑和页面跳转时具有高度的可定制性。根据项目的具体需求,选择合适的方法可以提高代码的可维护性和效率。在实践中,结合使用不同的...
1. **封装OGNL操作,实现值的传递**:Struts2通过对OGNL表达式的封装,实现从客户端传入的参数到Java对象之间的值传递。这一过程包括但不限于对各种复杂类型的处理,如数组、列表、映射等。 2. **类型转换**:为了...
Struts2 通过 ValueStack 对象来获取所有相关的值,如请求参数、Action 配置参数、向其他 Action 传递属性值(通过 chain 结果)等等。要获得这些参数值,我们要做的唯一一件事就是在 Action 类中声明与参数同名的...
Struts2和Ajax是两种在Web开发中广泛使用的技术,它们结合使用可以实现前后端的高效交互。在本场景中,我们将重点讨论如何利用Struts2作为后台处理框架,与前端Ajax通过JSON(JavaScript Object Notation)数据格式...
5. **Value Stack**:值栈是Struts2的一个重要概念,它是一个对象容器,存储Action实例和需要传递到视图的数据。视图可以直接通过OGNL(Object-Graph Navigation Language)表达式访问值栈中的对象。 二、OGNL...
5. **Value Stack**:Struts 2使用值栈来传递数据,Action中的属性可以直接放入值栈,视图层可以直接访问这些属性。 6. **OGNL(Object-Graph Navigation Language)**:Struts 2默认使用OGNL作为表达式语言,用于...
Struts2作为一款流行的Java Web框架,为开发者提供了丰富的功能,其中包括通过方法上传递参数的能力。这种方法使得在处理用户请求时更加灵活,不需要依赖特定的注解,而是直接通过参数名来获取界面传递的参数信息。...
6. **OGNL(Object-Graph Navigation Language)**:Struts2内部使用OGNL作为表达式语言,它允许在Action与视图之间传递数据,如在JSP中直接访问Action属性。例如,`${user.name}`可以获取UserAction中的name属性值...
Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建企业级Java Web应用程序。在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化...
5. **值栈(Value Stack)**:Struts2使用值栈存储请求中的数据,简化视图层的数据访问。 **JSP技术的基本概念:** 1. **指令元素(Directives)**:如page、include、taglib,它们用于设置全局属性、包含其他页面...
4. **Value Stack**: 值栈是Struts2中一个重要的概念,它是一个存储对象的栈结构,用于在Action与视图之间传递数据。ActionContext是访问值栈的上下文对象,可以通过它将数据放入栈中供JSP或其他视图技术使用。 5. ...
在实际开发中,开发者还需要关注Struts2的安全问题,如Struts2 S2-045、S2-048等漏洞,及时更新到最新版本以防止安全风险。 总的来说,Struts2 2.3.4是一个包含源代码和运行库的版本,它提供了一个强大的MVC框架,...
6. **OGNL(Object-Graph Navigation Language)**:Struts2默认使用OGNL作为表达式语言,用于在Action与JSP视图之间传递数据。例如,`<s:property value="username" />`会显示Action中username属性的值。 7. **...
Struts 2是一个强大的MVC(Model-View-Controller)框架,被广泛应用于Java Web应用程序的开发中。在北大青鸟Y2学年的课程中,学生们通常会学习如何利用Struts 2框架来构建一个租房网站,这涉及到多个关键知识点。 ...
Struts2 API是Java开发中的一个关键工具,它为基于MVC(Model-View-Controller)设计...在实际开发中,查阅Struts2的查询文档,结合具体的文件名称列表,可以找到对应的API详细信息,帮助解决开发过程中遇到的问题。
2. **异常处理与错误封装**:如果类型转换过程中遇到问题,如无法正确转换数据类型,会抛出异常。这些异常会被捕获并封装到`fieldError`对象中,存储在`ActionContext`中,以便后续的拦截器处理。 3. **反射调用...
在Action类中,可以创建一个getter方法来获取存储在session中的用户名,并通过Struts2的值栈(Value Stack)将其传递给JSP页面。在JSP页面上,我们可以使用OGNL(Object-Graph Navigation Language)表达式来访问并...
OGNL是Struts2中的表达式语言,用于在视图和模型之间传递数据。它允许开发者直接访问对象属性,支持动态方法调用,使得视图层的绑定变得简单而强大。 **6. freemarker和JSP视图技术** Struts2支持多种视图技术,...
4. **Value Stack**:值栈是Struts2中用于传递数据的容器,它将Action实例、ActionForm对象和其他模型对象存储在一起,方便视图层访问。通过OGNL(Object-Graph Navigation Language)表达式,可以在视图层轻松地...
3. **ognl.jar**:Object-Graph Navigation Language(OGNL)是Struts2中的表达式语言,用于在Action和视图之间传递数据,以及在Action中设置和获取属性值。 4. **freemarker.jar**:FreeMarker是一个模板引擎,...