很奇怪的问题,为什么接受不到request阿?

kenshin_z 2004-09-11 11:37:28
a.jsp页面是这样的
<form method=post name=form1 action=b.jsp>
<input type=text name=aa>
<input type=submit>
</form>
b.jsp页面是这样的
<jsp:useBean id="test" scope="request" class="test" />
if(test.getRequest(request)){
if(test.register()) {
response.sendRedirect("success.jsp");
} else {
response.sendRedirect("failure.jsp");
}
} else {
response.sendRedirect("failure.jsp?msg=wrongrequest");
}
而test.java是这样的
import javax.servlet.http.HttpServletRequest;
import testform;

public class test{
testform test = new testform();
private javax.servlet.http.HttpServletRequest request;
private boolean flag;

/*Get infos from the form and format these infos*/
public boolean getRequest(javax.servlet.http.HttpServletRequest newrequest) {
try {
request = newrequest;
String aa= request.getParameter("aa");
test.setAa(aa);
return true;
} catch (Exception e) {
return false;
}
}
}
而testform.java中的内容是这样的
public class testform{
private String aa;

public void setAa(String aa) {
this.aa= aa;
}
public String getAa() {
return aa;
}
}
问题是点击a.jsp的submit之后,网页会转到failure.jsp?msg=wrongrequest,这是为什么阿?说明没收到页面提交的数据吧?怎么解决阿?
...全文
258 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
viano 2004-09-21
  • 打赏
  • 举报
回复

request = newrequest; 去掉这一句

下面这个有点问题
if(test.register()) {
response.sendRedirect("success.jsp");
} else {
response.sendRedirect("failure.jsp");
}
} else {
response.sendRedirect("failure.jsp?msg=wrongrequest");
}

同时没有在你的 bean 里看到 register 方法

还有最好你用 getRequest 方法的倒 boolean 值
dafei0320 2004-09-20
  • 打赏
  • 举报
回复
遇到过--关注!
kenshin_z 2004-09-20
  • 打赏
  • 举报
回复
谢谢
Drate 2004-09-14
  • 打赏
  • 举报
回复
你加上try ...catch语句的话可能把你的request有个什么异常就直接转入执行catch部分了吧。。
AHUA1001 2004-09-14
  • 打赏
  • 举报
回复
把a.jsp改成这样:
<form method=post name=form1 action=b.jsp>
<input type=text id="aa">
<input id="s1" type=submit>
</form>
will52000 2004-09-14
  • 打赏
  • 举报
回复
类之前加个包名,试试看
redlaputa 2004-09-14
  • 打赏
  • 举报
回复
mark
gumplei 2004-09-14
  • 打赏
  • 举报
回复
up
wsmall1 2004-09-14
  • 打赏
  • 举报
回复
如果去掉了ty catch快就可以了,你看看是不是bean里面已经得到值了。
kenshin_z 2004-09-14
  • 打赏
  • 举报
回复
为什么在test.java中去掉try {和} catch (Exception e) {
return false;
}就可以了呢?能告诉我原因吗?
kenshin_z 2004-09-14
  • 打赏
  • 举报
回复
package加了,没用的阿
jackcf 2004-09-14
  • 打赏
  • 举报
回复
加个package就可以了,试过很多次,屡试不错!
jimmy1980 2004-09-14
  • 打赏
  • 举报
回复
try {
request = newrequest;
String aa= request.getParameter("aa");
test.setAa(aa);
return true;
} catch (Exception e) {
return false;
}
为什么要 request = newrequest??
直接使用newrequest不可以么? request是私有变量.我怎么觉得这么赋值不保险呢
jimmy1980 2004-09-14
  • 打赏
  • 举报
回复
楼主你单步调试一下看看哪里出错了么`~~
kenshin_z 2004-09-14
  • 打赏
  • 举报
回复
把try catch去掉之后是可行的吗?会不会以后会有异常阿?
TinyJimmy 2004-09-11
  • 打赏
  • 举报
回复
} catch (Exception e) {
//在这里将异常打出来, 判断是那里出了问题

}
bluesky35 2004-09-11
  • 打赏
  • 举报
回复
建议将b.jsp中的东西移到servlet中处理!
kenshin_z 2004-09-11
  • 打赏
  • 举报
回复
在线等,解决立刻结单
kenshin_z 2004-09-11
  • 打赏
  • 举报
回复
打印出来是说接受不到request
hwlCs 2004-09-11
  • 打赏
  • 举报
回复
//b.jsp
<%
String name = request.getParameter("aa");
%>
<input type=text value="<%=name%>">
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧