jsp页面中用request传值问题

我在页面中index.jsp页面中写了如下代码<%request.setAttribute("qweqe","qweqewqe");%><html><head></hea... 我在页面中index.jsp页面中写了如下代码
<%
request.setAttribute("qweqe","qweqewqe");

%>
<html>
<head>
</head>

<body>
<form name="fm" action="MyJsp.jsp" method="post">

<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
然后想跳转到MyJsp.jsp页面中,在MyJsp.jsp页面中用request.getAttribute("qweqe");取值,但是目前来看取出来的值是null,哪位能帮忙解答下,或者说明下这个页面中怎么取值能不是null。
展开
 我来答
匿名用户
2011-06-27
展开全部
用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。
第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。
所以渠道的值为null
当你按下submit开始表单提交的时候已经是一个新的request了
把request改为session吧,这样一定行;
还有就是response.setAttribute但是这个我不熟,我试了一下有问题。
百度网友845f74e61
2011-06-24 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1605万
展开全部
当你的这个页面加载完成的时候,request的生命周期结束了,你点提交按钮是另一个request开始。
建议你选分清楚 Request,Session,ServletContext,page,application等的生命周期。

关于这个不建议你放入session,自己作东西行,实际开发时,这并不是一个好的选择。
建议你用隐藏表单。
<html>
<head>
</head>

<body>
<form name="fm" action="MyJsp.jsp" method="post">
<input type="hidden" name="qweqe" value="qweqewqe">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>

另一个页中用
request.getParameter("qweqe")
来取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清风卍海洋
推荐于2018-04-10 · 超过12用户采纳过TA的回答
知道答主
回答量:20
采纳率:100%
帮助的人:33.8万
展开全部
当你调用action="MyJsp.jsp"
request 的生命周期就结束了
服务器端 引擎 会根据你的新的请求生成新的requset 和response 你之前放在里面的值当然是拿不到的
session 可以做到 也可以放到表单里
然后再servlet 里面service方法里 用request.getParameter("qweqe")取值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微笑三十度
2011-07-03
知道答主
回答量:15
采纳率:0%
帮助的人:12.4万
展开全部
首先呢你的 type="submit" 他是表单的一个特殊的元素
一般来说 取得值是 <input type="text"或者是文本框里面的值
用request 取值最好先设置一下编码以免乱码

给你个例子
<form action="addDo.jsp" method="post" onSubmit="return chk()">
<table style="border:2px solid;text-align:center;">
<tr>
<td colspan="2">添加员工信息</td>
</tr>
<tr>
<td id="re">员工姓名</td>
<td><input name="txtName" id="txtName" class="c" /> </td>
</tr>
<tr>
<td>部门</td>
<td><input name="txtDe" id="txtDe"/></td>
</tr>
<tr>
<td id ="re">手机号码</td>
<td><input name="txtPhone" id="txtPhone" class="c"/></td>
</tr>
<tr>
<td>电子邮件</td>
<td><input name="txtEmail" id="txtEmail"/></td>
</tr>
<tr style="text-align:center;">
<td colspan="2">
<input type="button" value="返回" onClick="javascript:window.location.href='index.jsp'"/>
<input type="submit" value="提交"/>
</td>

</tr>
</table>
</form>
以上是表单页面
一下是处理页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="com.accp.entity.*,com.accp.dao.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%

request.setCharacterEncoding("GBK");//设置编码为GBK
String name=request.getParameter("txtName");获取值
String de=request.getParameter("txtDe");
String phon=request.getParameter("txtPhone");
String email=request.getParameter("txtEmail");
int i=new contactDao().getInfoByName(name);
if(i>0){
out.print("<script>window.alert('用户名存在!')</script>");
out.print("<script>window.location.href='add.jsp'</script>");
}else{
int ii=new contactDao().addInfo(new contacts(name,de,phon,email));
if(ii>0){
out.print("<script>window.alert('添加成功!')</script>");
out.print("<script>window.location.href='index.jsp'</script>");
}
}

%>
就是说一般用 request.getParameter("表单的Name");获取的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式