Posted on 2005-08-16 18:56
胡冰 阅读(233)
评论(0) 编辑 收藏 网摘 所属分类:
webwork <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://www.cnblogs.com/suibing/articles/216262.html"
dc:identifier="http://www.cnblogs.com/suibing/articles/216262.html"
dc:title=""
trackback:ping="http://www.cnblogs.com/suibing/services/trackbacks/216262.aspx" />
</rdf:RDF>
-->
Action文件:
import com.opensymphony.xwork.ActionSupport;
public class HelloWebWorldAction extends ActionSupport {
String hello;
public String getHello() {
return hello;
}
public String execute() throws Exception {
hello = "Hello, WebWorld!";
return SUCCESS;
}
}
该action文件调用后转到下面的JSP
success.jsp:
<%@ taglib uri="webwork" prefix="ww" %>
<html>
<head>
<title></title>
</head>
<body>
<ww:property value="hello" />
</body>
其实,success.jsp:中的
<ww:property value="hello" /> ,也可以用一下方式得到:
<%
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
out.write("Hello, " +java.util.Arrays.toString((String[][])stack.findValue("countries")));
out.write("Hello, " +stack.findValue("name"));
%>
注意,这个VS是存到request scope中的变量,其KEY是"webwork.valueStack",其中存放了很多信息
一下是一些默认的信息:
WebWork2 contains the following items by default in the ValueStack:
- req - the current HttpServletRequest
- res - the current HttpServletResponse
- stack - the current OgnlValueStack
- ognl - an instance of OgnlTool
- ui - a (now deprecated) instance of a ui tag renderer
VS(valueStack),从上面的分析中可以得知,VS被放入了request 中,所以可以由一下方式得到
<ww:property value="#request['webwork.valueStack']" />
在JAVA程序中可以这么得到
ActionContext.getContext().getValueStack()
分享到:
相关推荐
5. **ActionContext**:ActionContext是WebWork中的一个重要组件,它存储了当前请求的上下文信息,包括请求参数、session数据、全局变量等。开发者可以通过ActionContext访问这些信息。 6. **ActionServlet**:...
通过OGNL,开发者可以轻松地访问和操作值堆栈(Value Stack)中的对象,值堆栈是WebWork用于存储和传递数据的核心机制之一,它在Action执行过程中保持数据的连续性,使得数据能够在多个Action之间共享。 #### 拦截...
1. **Action**:WebWork中的Action是业务逻辑的载体,它接收来自用户的请求,处理业务逻辑,并将结果传递给视图层。Action类通常会包含若干个方法,每个方法对应一个特定的操作。 2. **Interceptor**:拦截器在...
在`web.xml`中,需配置Spring的`ContextLoaderListener`和WebWork的`ResolverSetupServletContextListener`,确保在Web应用启动时初始化Spring的ApplicationContext,并使其与WebWork的环境变量保持一致。...
- 如果在`Action`类中定义了非`transient`成员变量并且没有采取适当的同步措施,那么这些变量就会成为共享资源,从而导致并发访问时的数据错误。 - **解决方案:** - 使用`transient`关键字标记那些不需要序列化...
- **显示 Action 结果**:通过 `<ww:property>` 标签显示 `hello` 变量的值。 #### 四、总结 通过上述步骤,我们了解了如何使用 WebWork2 构建一个简单的 Web 应用。从 Action 的创建到结果的展示,每一个环节都是 ...
3. **ActionContext(Action 上下文)**:ActionContext是WebWork中保存请求上下文信息的对象,它包含当前请求的所有状态信息,如请求参数、session信息、全局变量等。开发者可以通过ActionContext访问这些信息,...
在WebWork中,OGNL作为默认的值传递语言,用于Action和视图之间的数据绑定,以及在Interceptors中进行动态表达式计算。例如,它可以用来从请求参数中动态获取值,或者在视图模板中展示模型数据。 4. **oscore.jar**...
ActionContext是WebWork中存储请求上下文信息的容器,它包含了请求参数、Session数据、Application级变量等。ActionContext使得在Action和视图之间传递数据变得方便。 **ServletActionContext**: ...
1. **环境配置**:安装JDK,设置好环境变量,下载并配置WebWork的相关库,如webwork-core、struts2-core等。 2. **创建项目结构**:按照标准的Maven或Gradle项目结构,创建src/main目录下的java、resources和webapp...
为啥我在Action中定制一个变量并编写了setter/getter方法,struts2能把参数准确为我注入,咋实现的呢?为什么需要Ioc模式,它在struts2中如何体现其价值?struts2是如何利用基本的servlet构建出来这样一个灵活的框架...
为啥我在Action中定制一个变量并编写了setter/getter方法,struts2能把参数准确为我注入,咋实现的呢?为什么需要Ioc模式,它在struts2中如何体现其价值?struts2是如何利用基本的servlet构建出来这样一个灵活的框架...
为啥我在Action中定制一个变量并编写了setter/getter方法,struts2能把参数准确为我注入,咋实现的呢?为什么需要Ioc模式,它在struts2中如何体现其价值?struts2是如何利用基本的servlet构建出来这样一个灵活的框架...
1. **Action**:在WebWork中,一个Action代表了一个具体的操作或业务逻辑。开发者编写实现了Action接口的类,通过类中的方法来处理用户的请求。 2. **ActionContext**:ActionContext是WebWork的上下文对象,用于...
在"A" demo项目中,Spring可能用于管理Webwork的Action、DAO(数据访问对象)和其他服务类,通过配置文件或注解进行依赖注入,实现松耦合。 3. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它简化了...
ActionContext是WebWork中一个关键的概念,它存储了请求期间的所有上下文信息,包括请求参数、session数据、线程局部变量等。ActionContext为Action提供了访问这些信息的统一接口。 **ServletActionContext** ...
- **ActionContext**:Action上下文是WebWork中的一个重要概念,包含了Action运行时所需要的信息,如请求参数、会话信息等。 - **ServletActionContext**:在Web环境中,ServletActionContext实现了ActionContext...
在WebWork框架中,`WebWork_Result`配置文件对于控制应用的行为至关重要。它主要用于定义如何处理Action执行后的结果,包括页面跳转、数据传递等。本文将对配置文件进行详细分解,帮助读者深入理解其中的关键知识点...