struts后台向前台jsp传值的问题。。

我在后台Action里,写了Mapttsession=ActionContext.getContext().getSession();ttsession.put("use... 我在后台Action里,写了
Map ttsession = ActionContext.getContext().getSession();
ttsession.put("userregisted", userregisted);
System.out.println(ttsession);
ttsession可以正确输出。
但是前台一直获取不到ttsession中的“userregisted”的值。
请问如何在jsp中的<script>中获取到ttsession的值?谢谢了!
展开
 我来答
keep5
2013-08-20 · TA获得超过298个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:201万
展开全部
从后台往前台传值的方法写错了

应该调用request.setAttribute("userregisted", userregisted);
这样可以在前台${userregisted}获取到
望采纳
追问
用${userregisted}确实可以获取到,但是有一个问题。我这个是一个用户注册页面,点击确定按钮后,后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返到前台,给出相关提示。问题是,session变量必须要在返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。或者,刷新页面不改变当前对话框中的值也可以。
追答
这种问题很常见,这种逻辑都是用ajax实现的,比如你上其他网注册时候不是写了id它不就提示你这个id已注册的提示吗,这种逻辑都用ajax实现的。
$(function(){
$("#XX").blur(function(){
这里的blur就是鼠标移开时候自动调用ajax的功能

$.ajax({
url:"XX.action",
async:false,
data:{"":userId},
success:function(data){//data返回的是action返回的action
网上有很多这种代码,其实很简单的。
望采纳
殇心影誓
推荐于2016-09-08 · TA获得超过121个赞
知道答主
回答量:111
采纳率:0%
帮助的人:88.6万
展开全部
你只有一个值userregisted,没必要用Map ttsession = ActionContext.getContext().getSession();
request.getSession().setAttribute("userregisted", userregisted)

页面写一个
<input type="hidden" name="userid" id="userid" value="<%=request.getAttribute("userregisted")%>"/>

js里面写
document.getElementById("userid").value;
OK了
追问
方法可行,但有一个问题。我这个是一个用户注册页面,点击确定按钮后后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返回去。用这个方法现在的问题是,session变量必须要在后台返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。
追答

会用ajax吗?你希望不刷新页面就获取后台数据就只能用ajax技术

附件是我用过的一个ajax技术的例子,绝对有效的,你根据自己的修改

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuhuabin0228
2013-08-20 · 超过64用户采纳过TA的回答
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:56.6万
展开全部
在页面上可以直接遮掩获取的
${userregisted.userregisted}
追问
用${userregisted}确实可以获取到,但是有一个问题。我这个是一个用户注册页面,点击确定按钮后,后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返到前台,给出相关提示。问题是,session变量必须要在返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。或者,刷新页面不改变当前对话框中的值也可以。
追答
这样的话只能通过ajax异步获取了,你去查看一下ajax的使用,应该是可以达到你想要的效果的。你可以通过ajax提交注册的请求,然后再ajax里面去重新获取值就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张策是gou
2013-08-20 · TA获得超过250个赞
知道小有建树答主
回答量:275
采纳率:0%
帮助的人:88.6万
展开全部
Session ttsession = ActionContext.getContext().getSession();
ttsession.put("userregisted", userregisted);

在页面上可以直接获取的
${userregisted}
追问
确实可以获取到,但是有一个问题。我这个是一个用户注册页面,点击确定按钮后,后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返到前台,给出相关提示。问题是,session变量必须要在返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。或者,刷新页面不改变当前对话框中的值也可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj719192783
2013-08-21 · 超过19用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:51.1万
展开全部
运用ajax或jquery中的ajax异步处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式