`
dzgwt2004
  • 浏览: 167334 次
  • 来自: 浙江杭州
社区版块
存档分类
最新评论

Action中如何获取页面中的pageContext?

阅读更多
PageContext pageContext=(PageContext)getServlet().getServletContext();

这样获取老是出错,不明白。

我的意图是想在后台处理后,在前台显示提示信息。
从而写了一个showMessage方法:
public static void showMessage( Writer out, String msg ) throws IOException
    {
        out.write( "<script language=\"javascript\">" );
        out.write( "alert(\"" + msg + "\");" );
        out.write( "</script>" );
    }


Action调用
PageContext pageContext=(PageContext)getServlet().getServletContext();
HtmlUtil.showMessage(pageContext.getOut(), "hello");


问题是pageContext获取不到,请教解决?
如何有别的方法,希望给点意见。

现在pageContext已经获得
JspFactory _jspxFactory = null;
		PageContext pageContext = null;
		_jspxFactory = JspFactory.getDefaultFactory();
		pageContext = _jspxFactory.getPageContext(getServlet(), request, response, "",
				true, 8192, true);
		HtmlUtil.showMessage(pageContext.getOut(), "hello");


但是没有达到预期的效果,脚本没有输出到页面上? 为什么呢?
分享到:
评论
9 楼 dzgwt2004 2007-02-28  
谢谢各位支持
8 楼 jianfeng008cn 2007-02-28  
刑天战士 写道
页面就是页面,就算只有脚本也是页面,我还是推崇转向页面的方法。可以把message和转向地址写到request里面,然后在那个script页面上判断一下


用ajax就好办了撒,不用ajax转向页面可能需要做一些“多余”的初始化操作,用了就干净了,该怎么提示就怎么提示,呵呵
7 楼 刑天战士 2007-02-28  
页面就是页面,就算只有脚本也是页面,我还是推崇转向页面的方法。可以把message和转向地址写到request里面,然后在那个script页面上判断一下
6 楼 xly_971223 2007-02-28  
楼主的意思是在action中判断后发送信息到客户端吧
我是这样在Action中实现的
StringBuilder js = 
		new StringBuilder("<script language='JavaScript' type='text/JavaScript'>")
		.append("alert('请先登录.');")
		.append("window.history.back();")
		.append("</script>");

response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(js.toString());
return null;


5 楼 dzgwt2004 2007-02-28  
恩,实在没办法也只能这样了
4 楼 刑天战士 2007-02-28  
输入脚本不如转向那个包含错误信息脚本的页面,然后再从那个页面转向别的页面
3 楼 dzgwt2004 2007-02-28  
可能是我理解错了,我的想法是获得那个page里面的writer,写入脚本。

现在问题是如果我想后台向前台输出一段javascript脚本,如何实现那?
类似asp.net中的Response.write("script");
2 楼 codeutil 2007-02-28  
你好像根本没明白PageContext 是什么东西吧???

HtmlUtil.showMessage(response.getWriter(), "hello");  

1 楼 刑天战士 2007-02-28  
ServletContext和PageContext是两个不同的概念吧……

pageContext是用在jsp中,主要是用到标签类中,PageContext  extends  JspContext  to  provide  useful  context  information  for  when  JSP  technology  is  used  in  a  Servlet  environment 

而ServletContext则是servlet中使用,它只是一个接口。Defines  a  set  of  methods  that  a  servlet  uses  to  communicate  with  its  servlet  container,  for  example,  to  get  the  MIME  type  of  a  file,  dispatch  requests,  or  write  to  a  log  file。 
The  ServletContext  object  is  contained  within  the  ServletConfig  object,  which  the  Web  server  provides  the  servlet  when  the  servlet  is  initialized 

相关推荐

    struts2中action如何获取jsp页面参数1.pdf

    在处理过程中,Action需要获取JSP页面传递的参数。本篇将详细讲解Struts2中Action如何获取JSP页面参数以及相关上下文对象的使用。 1. **ActionContext** - ActionContext是Struts2框架中执行Action时的上下文环境...

    struts2 中action 如何获取jsp 页面参数1.pdf

    本篇文章将详细介绍如何在Struts2的Action中获取JSP页面传递的参数。 首先,Struts2框架会自动将HTTP请求中的参数绑定到Action类的相应字段上,这是通过OGNL(Object-Graph Navigation Language)实现的。然而,...

    jsp页面中${pageContext.request.contextPath}介绍

    在JavaServer Pages (JSP) 开发中,${pageContext.request.contextPath} 是一个非常有用的表达式,它用于获取当前应用程序或项目的根路径。这个表达式是基于Java Servlet API的PageContext对象和HttpServletRequest...

    action跳转导致图片不能显示

    - 可以在JSP页面中通过Servlet API来获取当前应用的上下文路径,并将其作为图片URL的一部分。 ```java ${pageContext.request.contextPath}/images/pic.jpg" alt="图片描述"&gt; ``` 5. **配置Struts2拦截器**: ...

    [JSP应用]使用jsp上传组件jspsmartupload时如何获取FORM中其它的值.doc

    然而,在实际操作中,可能会遇到一个问题:当表单(`FORM`)中包含文件上传字段时,无法通过`request.getParameter`正常获取表单中的其他非文件数据。这是因为文件上传需要`enctype`属性设置为`multipart/form-data`...

    JSP获取TextArea中的值

    本篇文章将详细讲解如何在JSP中获取TextArea的值。 首先,我们需要理解HTML的TextArea元素。TextArea是HTML表单中的一种控件,用于输入多行文本。它的基本语法如下: ```html 这里是默认显示的文本 ``` 其中,`...

    struts2中常用Result类型(type)的用法和出现的问题

    1. 由于 chain 中的 action 属于同一个 HTTP 请求,共享一个 ActionContext,故可以在上下文中获取。在页面上可以直接使用。 例如: HttpServletRequest request = ServletActionContext.getRequest(); String s =...

    两个jsp页面之间传值的问题,和checkbox多选框之间的问题

    在IT行业中,尤其是在Web开发领域,页面间的数据传递是一个常见的需求。JSP(JavaServer Pages)作为Java平台上的动态网页技术,提供了多种方式来实现页面间的传值。本篇文章将聚焦于“两个JSP页面之间传值的问题”...

    基于XML配置方式实现对action的所有方法进行输入校验

    &lt;form action="${pageContext.request.contextPath}/testvalidate/xmlvalidateaction_save.action" method="post"&gt; 用户名:&lt;input type="text" name="username"/&gt; 不能为空 手机号:...

    ActionContext在struts2.0中的详细应用

    例如,如果你想在Action中获取请求参数“username”的值,你可以这样做: ```java ActionContext context = ActionContext.getContext(); Map, Object&gt; params = context.getParameters(); String username = ...

    java学习(ssh) action structs spring hibernet

    JSP提供了多个内置对象,如`out`、`request`、`response`、`session`、`pageContext`、`application`、`config`、`page`、`exception`等,用于简化页面开发和后端数据交互。 ### 8. Struts2标签库的使用 Struts2...

    华为招聘Java面试题:概念题:1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?2. JSP有哪些内置对象和动作?它们的作用分别是什么?……

    - **pageContext**:`javax.servlet.jsp.PageContext`类型,页面上下文,提供对其他内置对象的访问。 #### 动作 JSP还支持一些预定义的动作标签,用于完成特定的功能,常见的动作标签包括: - `&lt;jsp:include&gt;`:...

    struts2学习

    例如,可以在JSP页面中使用EL表达式`${pageContext.request.contextPath}`来获取当前应用的上下文路径。 **页面示例:** ```html 客户的管理 ${pageContext.request.contextPath}/saveCustomerAction.action"&gt;添加...

    ActionContext介绍(在Struts2中)

    使用ActionContext时,需要特别注意不要在Action的构造函数中获取ActionContext,因为那时ActionContext可能还未完全初始化,获取到的值可能是null。正确的做法是在Action的execute方法或其他业务方法中使用。 总结...

    Jsp与Servlet之间的传值(已验证)

    在JSP页面中,通过`pageContext`或`request`对象获取该属性: ```jsp (String) request.getAttribute("ValueA"); %&gt; ``` 这种方式中,Servlet将数据存储在请求上下文中,JSP页面在处理请求时可以访问这些数据。...

    waf开发案例.pdf

    2. Action类不需继承特定的Superclass或实现接口,但方法必须接收`WafContext`参数,表单数据从context中获取。 四、展示列表数据 1. 使用`&lt;waf:grid&gt;`标签结合SmartTable展示List数据,可以避免主查询中的JOIN操作...

    人脸识别研究综述

    类似java中的import语句prefix="s" 引用的名称在页面可以使用,就像java中生成的一个对象名,以后调用的时候直接使用就可以了uri="/struts-tags"%表示标签库的路径。相当于import一个具体的类~ 3、&lt;form action="${...

    struts2结果类型

    在这个例子中,当 `Step1Action` 执行完成后,会通过 `chain` 类型的结果自动调用 `Step2Action`,最终跳转到 `finish.jsp` 页面。 **3.3 实现原理** `chain` 类型的结果是通过调用 `actionProxyFactory....

    jsp页面调用实现源码

    在JSP中,我们通常会定义一个或多个动作(Action),这些动作在用户交互后会被转发到相应的Servlet。例如,我们可能会有一个`&lt;form&gt;`表单,当用户提交后,JSP会调用对应的Servlet进行处理。 **3. JSP动作标签** 在...

Global site tag (gtag.js) - Google Analytics