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的值?谢谢了! 展开
Map ttsession = ActionContext.getContext().getSession();
ttsession.put("userregisted", userregisted);
System.out.println(ttsession);
ttsession可以正确输出。
但是前台一直获取不到ttsession中的“userregisted”的值。
请问如何在jsp中的<script>中获取到ttsession的值?谢谢了! 展开
5个回答
展开全部
从后台往前台传值的方法写错了
应该调用request.setAttribute("userregisted", userregisted);
这样可以在前台${userregisted}获取到
望采纳
应该调用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
网上有很多这种代码,其实很简单的。
望采纳
展开全部
你只有一个值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了
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技术的例子,绝对有效的,你根据自己的修改
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在页面上可以直接遮掩获取的
${userregisted.userregisted}
${userregisted.userregisted}
追问
用${userregisted}确实可以获取到,但是有一个问题。我这个是一个用户注册页面,点击确定按钮后,后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返到前台,给出相关提示。问题是,session变量必须要在返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。或者,刷新页面不改变当前对话框中的值也可以。
追答
这样的话只能通过ajax异步获取了,你去查看一下ajax的使用,应该是可以达到你想要的效果的。你可以通过ajax提交注册的请求,然后再ajax里面去重新获取值就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Session ttsession = ActionContext.getContext().getSession();
ttsession.put("userregisted", userregisted);
在页面上可以直接获取的
${userregisted}
ttsession.put("userregisted", userregisted);
在页面上可以直接获取的
${userregisted}
追问
确实可以获取到,但是有一个问题。我这个是一个用户注册页面,点击确定按钮后,后台处理数据,如果用户名在数据库已存在,记录一个变量,用session返到前台,给出相关提示。问题是,session变量必须要在返回前台之后刷新一遍页面才能获取到值,我希望不刷新就能获取。或者,刷新页面不改变当前对话框中的值也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运用ajax或jquery中的ajax异步处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询