当前位置: 代码迷 >> Java Web开发 >> 问个jsp传值有关问题
  详细解决方案

问个jsp传值有关问题

热度:112   发布时间:2016-04-16 21:43:36.0
问个jsp传值问题
<body>
<c:forEach items="${list}" var="data" varStatus="s">
// TODO
                <a href="next.do">s.index</a>
</c:forEach>
</body>

请问当点击连接的时候,如何把data这个对象传到next.do这个Controller里去呢?
------解决思路----------------------
在链接一个属性一个一个填上, 没有其它办法。 

一般来说这里的data应该是数据库里的数据, 它有个主键,你在链接里把data的id带上,在下个控制层在通过id查出完整的数据进行操作。
------解决思路----------------------
利用id来传值,以前的项目貌似就是这样做的
------解决思路----------------------
1、自己写一个自定义标签
2、序列号对象并转成Base64
3、href="nex.do?p=#ASJSDKJKSJ...S$SDFJLKOWQ..."

后台解析BASE64反序列号即可。
------解决思路----------------------
引用:
1、自己写一个自定义标签
2、序列号对象并转成Base64
3、href="nex.do?p=#ASJSDKJKSJ...S$SDFJLKOWQ..."

后台解析BASE64反序列号即可。


说错,叫序列化对象。
------解决思路----------------------
一般就三种方法
第一种就是传id,大部分都这么做的
第二种是拼所有属性,比较麻烦
第三种是base64序列化对象并保存在页面中

只推荐第一种,其余都不推荐。
你要知道jsp被web容器编译为servlet后再展示在浏览器上的时候只是个非常普通的html,所以是没有什么方法直接传对象的。
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

1、自己写一个自定义标签
2、序列号对象并转成Base64
3、href="nex.do?p=#ASJSDKJKSJ...S$SDFJLKOWQ..."

后台解析BASE64反序列号即可。


说错,叫序列化对象。


难道只能通过请求地址跟参数的方式传值吗?不能把这个对象放到一个request里面,然后后台再从request里面取值吗?

你把HTML了解一下吧,JSP和HTML的具体关系可以查查哦;只有通过简介对象不能直接对象,所谓的简介就是文本形式的对象(POST可以用JSON、GET有长度限制只能考虑序列化后转码来实现。)
  相关解决方案