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

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 

相关推荐

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

    ${pageContext.request.contextPath}是JSP取得绝对路径的方法 例如:浏览器地址栏为”http://localhost:8080/test/index.jsp “ 那么:取出来的就是”http://localhost:8080/test”,简写为”/test” /test 等价于 ...

    人脸识别研究综述

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

    ajax的json传值方式在jsp页面中的应用

    //播放 function getViews(){ $.ajax({ ‘url’:”${pageContext.request.contextPath}/video/getVideos.action?r=”+Math.random()+”&open=1″, ‘data’: ”, ‘dataType’: ‘json’, ‘type’: ‘get’, ...

    javaweb项目开发思路(通俗易懂)附源码

    2、静态页面复制到工程中 WebRoot:(用户可以看) common:公共组件 css:css样式文件 js:javascrip文件 images、productImages:系统使用的图片 WEB-INF:(安全目录) 系统使用的页面建议放入到WEB-INF下 3、...

    基于java的企业级应用开发:简单绑定.ppt

    在控制器中编写注册方法; 创建用户注册页面;... //...省略向用户注册页面跳转方法 @RequestMapping("/registerUser") public String registerUser... } &lt;body&gt; &lt;form action="${pageContext.request.contextPath }/reg

    Ecside总结与学习.ppt

    ECSide是有一个基于jsp tag的开源列表组件. 简单的说,它就是一组...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的jsp页面,此时ECSide就可以帮助您展现出所需要的列表.

    ecside2.0RC1项目包

    ecside2.0RC1项目包,引入即可运行,无需额外的jar包。...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的 jsp页面,此时 ECSide就可以帮助您展现出所需要的列表.

    ecside1.0RC1项目包

    ecside1.0RC1项目包,引入即可运行,无需额外的jar包。...这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的 jsp页面,此时 ECSide就可以帮助您展现出所需要的列表.

    基于iframe实现类似于ajax的页面无刷新

    form id=”form0″ action=”${pageContext.request.contextPath}/news/baikeAdd.form” enctype=”multipart/form-data” method=”POST” target=”hidden_frame”&gt; … … &lt;/form&gt; &lt;iframe name=’...

    ecside有关jar文件

    这个工作可以在action/servlet里完成,也可以在jsp页面内完成),然后页面跳转到使用ECSide标签的jsp页面,此时ECSide就可以帮助您展现出所需要的列表. 一个简单的流程通常是这样的. 1 客户端请求action/servlet(如 ...

    java面试题

    Struts1只是在第一次请求的时候创建一个action实例,以后每次相同的请求都直接从内存中去读取,它是单例模式,安全性较差。 Struts2是如何实现MVC模式的? 答:在Struts2里面是将每次页面的请求进行处理,然后将请求...

    简单易用的自定义标签分页显示

    //在page中只有3个属性是已知的,1,一共多少记录,2,一页显示多少记录,3,以及返回的结果集 //1.重新给page分布内容 setPage(page); //2.输出html out.print(getHtml(page)); //3.输出js out.print(getJs...

    java 面试题 总结

    动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面...

    javaee三大框架整合宅急送项目lib包

    $.post("${pageContext.request.cotnextPath}/processinstance_showInfo.action", {"pid": pid}, function(data){ $.messager.alert("流程实例信息", data, "info"); }); 3、 实例运行的流程图查看 需要在...

    超级有影响力霸气的Java面试题大全文档

     动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面...

    rest风格+jdbctemplate的CRUD操作.rar

    ④修改用户:先根据id查询员工(get请求),然后跳转到修改页面,使用form标签回显当前对象内容&lt;form:form action="${pageContext.request.contextPath }/emp"method="post" modelAttribute="employee"&gt;然后将封装好...

    jquery ajax异步提交表单数据的方法

    使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的; 处理表单的数据可以用serialize()方法进行序列...form id="addForm" action="${pageContext.reques

    J2EE应用开发详解

    29 3.2.2 Class.forName()加载类的实例 30 3.2.3 loadClass获得类的实例 31 3.3 操作类的字段 31 3.3.1 获取对象的属性 31 3.4 操作类的方法 34 3.4.1 运行时调用对象的方法 34 3.4.2 无参构造函数 36 3.4.3 带参...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    12.3.3 动作元素(action elements) 376 12.3.4 注释 383 12.4 jsp的隐含对象 383 12.4.1 pagecontext 384 12.4.2 out 385 12.4.3 page 385 12.4.4 exception 386 12.5 对象和范围 387 12.6 留言板程序 389...

Global site tag (gtag.js) - Google Analytics