首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

一个关于request传值的有关问题

2013-08-01 
一个关于request传值的问题。在jsp页面,有String search (String) request.getAttribute(search)Syste

一个关于request传值的问题。
在jsp页面,有
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
       
在<Form>中,有


<form name="queryConditionform" method="post" action="/rsas/FeedbackAction.do">
     <input id="search" name="search" value="<%=search%>" type="hidden"/>
</form>


在action中,有
String search = request.getParameter("search");
System.out.println("search-action :"+search );
if(search ==“yes”){
  System.out.println(“你好!”);
}
在action的最后,有
request.setAttribute("search", "yes");
return mapping.findForward("feedback");

基本的需求,当第一次登陆页面的时候,提交了form后,不输出“你好”,然后再提交的时候,才会输出“你好”,
但是问题是,输出的结果是
第一次登陆:
search :null
点击submit后:
search-action :null
search :yes
再点击submit:
search-action :null
search :yes

发现<input id="search" name="search" value="<%=search%>" type="hidden"/>
的value的值老是null,这是为什么的?输出的search 已经是yes了喔。
求高手打救,小弟感激不尽。

[解决办法]
引用:
Quote: 引用:

这里比较的是字符串吧
字符串可以用==来比较么?
那么str.equals(object)是做什么用的呢?
至于你说你能输出“你好”
我很想知道原因。

现在是,search的值yes传不到action中,在action中得不到search=yes,而是得到search='null'.
这个search应该没值,不是传值的问题。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

先访问jsp,那么<input id="search" name="search" value="<%=search%>" type="hidden"/>里面的search怎么能获取到?而且看上面的是在action才保存的。

<%
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<input id="search" name="search" value="<%=search%>" type="hidden"/>
这样获取啊,这个时候已经可以输出yes了。这样不行吗??

上面代码的执行顺序是怎样的?貌似没明白过来一个关于request传值的有关问题

.jsp:
<%
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<form name="queryConditionform" method="post" action="/rsas/FeedbackAction.do">
     <input id="search" name="search" value="<%=search%>" type="hidden"/>
</form>

然后再action中:
String search = request.getParameter("search");
System.out.println("search-action :"+search );
if(search ==“yes”){
  System.out.println(“你好!”);
}
request.setAttribute("search", "yes");
return mapping.findForward("feedback");

是jsp的form提交,执行了action,action获得form提交的值,来判断是否执行输出“你好”的语句。
就上面所述,search是无法获取到yes的,应该是null
[解决办法]
不要这样用,这存在一个请求问题。
action里用
HttpSession session = request.getSession();
session.setAttribute("search", "yes");


页面String search=(String)request.getSession(false).getAttribute("search");

热点排行