在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了喔。
求高手打救,小弟感激不尽。
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了喔。
求高手打救,小弟感激不尽。
字符串可以用==来比较么?
那么str.equals(object)是做什么用的呢?
至于你说你能输出“你好”
我很想知道原因。
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<input id="search" name="search" value="<%=search%>" type="hidden"/>
这样获取啊,这个时候已经可以输出yes了。这样不行吗??
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<input id="search" name="search" value="<%=search%>" type="hidden"/>
这样获取啊,这个时候已经可以输出yes了。这样不行吗??上面代码的执行顺序是怎样的?貌似没明白过来
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<input id="search" name="search" value="<%=search%>" type="hidden"/>
这样获取啊,这个时候已经可以输出yes了。这样不行吗??上面代码的执行顺序是怎样的?貌似没明白过来
.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,那么提交表单的时候,一般没问题。但我只看到request.setAttribute("search", "yes");这句是在action里面保存的,所以,没明白你的逻辑是怎么处理的。
String search = (String) request.getAttribute("search");
System.out.println("search :"+search );
%>
<input id="search" name="search" value="<%=search%>" type="hidden"/>
这样获取啊,这个时候已经可以输出yes了。这样不行吗??上面代码的执行顺序是怎样的?貌似没明白过来
.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");
然后点击提交,因为是第一次执行action,所以传入的search值是null,不执行“你好”,
接着,将request.setAttribute("search", "yes");传回给jsp。
之后的调用action都执行“你好”。
总之就是要确保action在第一次执行的时候不执行“你好”。
不知道我说的明白不??
问题是,
<input id="search" name="search" value="<%=search%>" type="hidden"/>
里面得不到
<%String search = (String) request.getAttribute("search");
System.out.println("search :"+search );%>
的值喔。
System.out.println("search :"+search );%>
有值,
<input id="search" name="search" value="<%=search%>" type="hidden"/>
里面没值喔。