- 浏览: 592869 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (300)
- Web前端 (27)
- Java疑难 (60)
- 面试 (59)
- 汇编语言 (1)
- 计算机组成原理 (2)
- 操作系统 (3)
- 计算机网络 (6)
- C/C++疑难 (9)
- SSH (2)
- Web开发 (15)
- 故障 (3)
- 软件开发 (16)
- Portal开发 (1)
- 后台开发 (6)
- 数据库 (35)
- 设计模式 (4)
- 数据结构与算法 (4)
- Linux (3)
- 项目管理 (10)
- 多线程 (12)
- 嵌入式 (9)
- 网络编程 (4)
- 架构设计 (20)
- 软件工具技巧 (7)
- 并行并发 (4)
- 窗口编程 (7)
- 串口编程 (0)
- Flex (2)
- 协议 (1)
- 通讯方式 (4)
- 性能分析优化 (5)
- 测试相关 (4)
- 海量数据处理 (2)
- JAVA核心技术 (10)
- SOA (3)
- 攻略规划 (1)
- 爬虫/搜索 (2)
- 正则表达式 (1)
- A Comparison Of NoSQL Database Management Systems And Models (1)
最新评论
-
charles751:
分析的很好!但有一点:只要同步组合操作就可以了,不一定非要sy ...
Vector 是线程安全的? -
S346618898:
core Java中有一段:Vector类对自己的所有可修改方 ...
Vector 是线程安全的? -
code_cj:
基本上明白了.但执行顺是否应该是/etc/profile -& ...
profile bashrc bash_profile之间的区别和联系 -
xd2008ck:
各自有各自的场景吧楼主不要太激进了
Vector 是线程安全的? -
zwt2001267:
写的不错,赞一个
Vector 是线程安全的?
我想在几个jsp页面间接力传递一个LinkedList参数,这个参数在经过不同的页面时会发生变化。我在网络上发现了实现这种应用的两种方法,特地把它贴在这里备忘: 第一种方法,使用jsp内置的Session对象来传递:(转自:http://www.7880.com/Info/Article-4616cf60.html) JSP学习笔记(六)—–在多个JSP页面之间传递参数 2. 下面的这个实例实现了把第一个JSP页面的参数传递给第三个页面的功能 3. 代码如下:1.jsp <html> 4. 2.jsp 5. 3.jsp <html> 第二种方法,利用JavaBean和JSP技术在Web页面中保存和传递数据,(转自:http://www.cnblogs.com/bjzhanghao/archive/2004/08/07/30950.html) [翻译]JavaBean组件与JSP技术结合 Web架构师Brett McLaughlin向我们展示了怎样利用JavaBean和JSP技术在Web页面中保存和传递数据,以及如何设计可以得到更大的灵活性。 到目前为止,在JSP最佳实践系列里,我们已经讨论了相当一部分基础知识。在前面的两个章节里,你应该学会了如何使用JSP的include机制将网站以外的内容包含在页面或应用程序里。共有两种不同类型的include:静态的include命令和动态的jsp:include标记。 同时,我们还没有涉及到在父页面(在我们的例子中是网站的首页)和被包含内容之间的通信问题。而实际上这种情况是非常普遍的。当你开始建立一个真正的网站或者web应用程序时,通常你会需要这样的通讯机制,举个例子,你的网站可能会在首页产生一些标题一类的小段文字,这些文字要出现在页眉或页脚页面中。在这一部分里,你将学到如何在页面间传递数据,以及如何在被包含的页面中使用这些数据。 注:这部分的全部例子都基于JavaServer Pages技术,为了能运行它们,你需要建立一个JSP兼容的web容器,在你本地计算机或某个用于测试的服务器上都可以。同时,你还要有一个文本编辑器或者集成环境来编写你的JSP页面。 用于保存数据的JavaBean 让我们假想这样的一个网站,在这个网站里每个页面有一小句“口号”(例如“书:装满知识的容器”或者“唱片:值得一听”)和一个标题。父页面(有时也被称作主页面)决定了每一页的口号,但真正产生html输出这个口号的是页眉页面,它是被包含的。要实现这个目的,父页面必须能够把口号传递给页眉页面,页眉页面得到这个口号,将它以页面标题的形式输出。 首先我们需要某种对象来保存被传递的数据,恰好(这并非偶然)JavaBean组件就是这样一个合适的选择,它与JSP技术配合得天衣无缝,简单的使用取值方法和赋值方法就可以控制你要的数据。稍有java编程经验的读者可能已经想到,get()就是一个取值方法,因为它读取数据;而set()是一个赋值方法,因为它改变数据。 列表1展示了我们所需要的一个JavaBean的代码,PageHeaderinfo包含了网站页眉信息。 <![CDATA[ package com.newInstance.site.beans; import java.io.Serializable; public class PageHeaderInfo implements Serializable { /** The title of the page */ private String pageTitle; /** The slogan of the page */ private String pageSlogan; public String getPageTitle() { return pageTitle; } public void setPageTitle(String pageTitle) { this.pageTitle = pageTitle; } public String getPageSlogan() { return pageSlogan; } public void setPageSlogan(String pageSlogan) { this.pageSlogan = pageSlogan; } } ]]> 作为第一个练习,将这个文件保存为PageHeaderInfo.java并编译它。接下来,把得到的class文件PageHeaderInfo.class放在你的web应用程序的WEB-INF/classes目录下。请确保目录包含了包的结构,例如: $<TOMCAT-ROOT>/webapps/$<WEB-APP-NAME>/WEB-INF/classes/com/newInstance/ site/beans/PageHeaderInfo.class 你可以使用类似这样的路径安排web应用程序中用到的类。按以上步骤做到这里,下面就可以向PageHeaderInfo里存入数据然后在不同的JSP页面中获取了。 传递已保存的数据 在我们的网站里,页眉页面包含向不同页面传递不同口号的代码。查看前面的章节就会发现,页眉页面(header.jsp)是通过jsp:include标记被包含的文件。列表2展示了网站首页如何通过标记把数据传递给header.jsp文件。 <![CDATA[ <%@ page language=”java” contentType=”text/html” %> <html> <head> <title>newInstance.com</title> <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ /> <link href=”/styles/default.css” rel=”stylesheet” type=”text/css” /> </head> <body> <jsp:include page=”header.jsp” flush=”true”> <jsp:param name=”pageTitle” value=”newInstance.com”/> <jsp:param name=”pageSlogan” value=”Java and XML :: Turning theory into practice” /> </jsp:include> <%@ include file=”/navigation.jsp” %> <jsp:include page=”bookshelf.jsp” flush=”true” /> <jsp:include page=”/mt-blogs/index.jsp” flush=”true” /> <%@ include file=”/footer.jsp” %> </body> </html> ]]> 可以看出,标题是被传递过去作为口号的。 你可能已经注意到了,在你建立页面的时候,不一定需要JavaBean组件实际存在。我总是先写好JavaBean,有一个很好的理由:JSP参数名必须与JavaBean属性名匹配,先完成JavaBean可以保证你在编写JSP页面时使用合适的参数名称。 获得数据 当你完成了JSP参数和JavaBean属性的编码,一旦数据被传递给header.jsp,这个页面就可以开始获取数据了。列表3展示了header.jsp页面。它的大部分内容是html,请注意里面的JSP脚本,在你研究过这些代码后我会在后面向你解释。 <![CDATA[ <!– Begin header section –> <%@ page language=”java” contentType=”text/html” %> <jsp:useBean id=”pageHeaderInfo”class=”com.newInstance.site.beans.PageHeaderInfo”> <table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″> <tr> <td width=”91″ height=”50″ align=”right” valign=”top” bgcolor=”#330066″><font color=”#FFFFFF”><img src=”/images/header-lions.gif” width=”90″ height=”60″></font></td> <td colspan=”3″ align=”left” valign=”top” bgcolor=”#000000″><table width=”100%” height=”60″ border=”0″ cellpadding=”0″ cellspacing=”0″> <tr> <td width=”261″ rowspan=”2″><img src=”/images/header-title.gif” width=”261″ height=”60″></td> <td class=”pagetitle” width=”249″ height=”55″ align=”right” valign=”bottom”><jsp:getProperty name=”pageHeaderInfo” property=”pageSlogan”/></td> <td width=”10″ height=”55″> </td> </tr> <tr> <td height=”5″><img src=”/images/spacer.gif” width=”1″ height=”5″></td> <td height=”5″><img src=”/images/spacer.gif” width=”1″ height=”5″></td> </tr> </table></td> <td width=”141″ bgcolor=”#000000″> <font color=”#FFFFFF”> </font> </td> </tr> <!– End header section –> ]]> 第一行代码标识了该页面为一个JSP页面,然后通过jsp:useBean标记声明需要访问PageHeaderInfo这个JavaBean,id属性为这个bean指定了一个名称,通过该名称可以在JSP页面中使用bean;class属性指定了JavaBean类的全名。相邻的jsp:setProperty标记说明了JavaBean(通过id属性标识)的所有属性都以请求数据赋值,也就是说,为这个bean里的每个属性(例如pagetitle和pageslogan)寻找名称对应的请求参数来赋值。这些请求参数可以来自客户端的浏览器,也可以来自包含这一页的其他JSP页面。在这种情况下,唯一的请求数据是由父页面创建的。对于我们的网站,首页(index.jsp)发送pagetitle和pageslogan,其值分别为“newinstance.com”和“Java and XML: Turning theory into practice”。 一旦bean的属性被赋值后,页面就可以使用这些数据了。对于header.jsp,在后面的代码里可以看到,通过jsp:getProperty标记使用了这些数据。Jsp;getProperty标记通过name参数标识从哪个对象取数据,通过property参数标识取对象的哪一个属性。取得的数据值自动插入到页面的输出,也就是输出到父页面里,从而得到一个无缝的、动态的页面口号,在JSP页面间传递数据就是这么简单!你可以为一个JSP页面增加任意多的bean,每一个bean都可以有任意多的属性,足以应付任何复杂的请求数据。 处理需求变化 改变是软件开发者最大的烦恼,你写好了你的bean,在JSP页面里也写好了使用它们的代码,这时web应用程序的需求似乎不可避免的会发生变化。如果这个改变要求更多的属性(大多数情况都是如此),你不得不改写你的JavaBean源代码,重新编译它,还要确定JSP页面能够正确访问新生成的bean类。有些情况下,你可以不必对bean进行处理,如果保存或获取属性页面不再使用了(也就是说,即使那个页面还在站点的目录里,但你不再使用该页面),这时你可以不用去管原来的代码即可。实际上,我就遇到过这种情况! 我的个人网站的页眉页面header.jsp用于生成html的头部,以前有一段时间里,这一页向我的其他页面头部里的title标记里插入一个标题,后来我做了修改,在header.jsp里不再使用页面标题了。但我并没有从PageHeaderInfo里把pageTitle移除;实际上,我甚至在大部分JSP页面里连jsp:param标记都没有移除,这个标记的作用本来是为页面设置标题的。我认为花这些工夫不值得,因为我确信保留这些数据不会带来任何坏的影响(也许某一天我还会重新用到呢!)。因此,如果你遇到同样的情况,不用浪费时间了–有处理这些琐事的时间不如用来为你的web应用程序增加些新的、有趣的、实用的功能。 下一次 当你熟练掌握了在JSP页面间传递数据的方法后,试着自己写一些有用的JavaBean并且看看能不能把它们用在你的站点里。通过和这些bean的接触,还有jsp:useBean、jsp:param以及jsp:get/setProperty的使用,你应该能够做出一些很酷的功能了!在下次的最佳实践里,我将向你展示使用JSP向站点增加外部内容的方法,JSTL标记和我们熟悉的include标记差不多,它使得JSP更灵活和更高效。在这之前,请用功准备,到时再见! |
发表评论
-
字符集与字符编码
2013-09-06 00:23 1234摘自http://blog.sina.com.cn ... -
Java Ant build.xml详解
2013-07-21 23:52 9181、什么是antant是构建 ... -
Session机制详解
2013-04-23 14:53 1001http://tech.it168.com/j/2006-07 ... -
web服务器和application服务器的区别
2013-03-22 15:11 1054WEB服务器、应用程序服务器、HTTP服务器有何区别?IIS ... -
jquery中各个事件执行顺序
2013-03-06 00:08 869jquery中各个事件执行顺序如下: 1.ajaxStar ... -
tomcat一闪而过并报 JAVA_HOME environment variable is not defined correctly
2013-01-25 09:43 8247在startup.bat后加上pause,这样就可以查看错 ... -
jsp页面间传递参数
2012-01-11 14:56 8960我想在几个jsp页面间接力传递一个LinkedLis ... -
使应用兼容容器各类编码
2011-12-25 15:45 885如果因为项目需要,不能指定容器使用何种编码规则来解码提交的参数 ... -
Tomcat处理编码的流程
2011-12-25 13:21 2766Tomcat是如何处理query/post的编码问题的?首先我 ... -
很好的解决中文乱码的filter(包括get和post提交两种方式)
2011-12-23 17:53 1129/** * Tomcat GET方式表单提交乱码解决。 * @ ... -
深入浅出URL编码
2011-12-23 01:02 975版权声明:如有转载请 ... -
get和post方法的中文编码问题
2011-12-23 00:51 4214form有2中方法把数据提 ... -
在Websphere上修改项目的web.xml中的配置后不起作用
2011-11-17 23:39 1697往往在我们把一个java项 ... -
拷贝包到当前lib
2010-10-21 22:03 969方法一: 在加入框架的时候勾选上把库拷贝到当前项目目录 ...
相关推荐
JSP几种页面间传递参数实现的方法,希望能够提供一些帮助
JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧。试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式。下面来一起看看详细的介绍: 1. URL 链接后追加参数 <a>URL 后面追加参数 ...
在多个页面传递jsp参数在多个页面传递jsp参数
在jsp页面中,frame之间以及子页面和父页面间参数是如何传递的?
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。对JSP、JAVASCRIPT、SERVLET之间数据传递的总结
在jsp页面通过javascript,调用opener方法在页面之间传递参数,子页面将参数返回给父页面
知识共享-jsp页面中文参数传递get和post方法分析(雷惊风).
JSP页面从一个页面传递一个参数到另外一个页面的方法
平时在项目过程中总结了几点关于jsp页面间的传值方法 之前也上传过这样的资源,但其中有些小问题,呵呵,这是经过自己修改过的,想和朋友们一起分享下,也许还有问题,希望朋友们指点噢。
jsp中多个页面传输参数,超链接传输参数
Jsp页面在URL中传递参数会出现乱码,本人想到两种方法解决,虽然不能保证100%解决,但值得学习
例1:jsp页面间通过request/session传值 session1.jsp(从表单输入usernmae,将该参数传递到session2.jsp)
在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, “UTF-8”)进行解码即可; 如果url中需要传递+、#、?等特殊符号,可以使用encodeURIComponent...
JSP页面中文参数的传递(get和post方法分析).docx
主要介绍了JSP页面中超链接传递中文参数出现乱码问题解决方法,涉及jsp页面参数传递与字符串处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了html页面跳转传递参数问题的相关资料,需要的朋友可以参考下
java五种jsp页面跳转方法详解 2009-08-21 09:06 1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 另外一个Servlet,JSP 或普通HTML...
那么,可不可以传递参数给html页面呢。可以。 原理:通过[removed].href中的分割符获得各个参数 方法一: /* *函数功能:从href获得参数 *sHref: http://www.cscenter.com.cn/arg.htm?arg1=d&arg2=re *sArgName:...
转码: 代码如下:a.href=”./showCont.jsp?tcontent=”+encodeURI(encodeURI(tcontent)); 解码: 代码如下:java.net.URLDecoder.decode((String)request.getParameter(“tcontent”), “UTF-8”); 例a.jsp源代码 ...