如何在servlet中给jsp中的input的value属性赋值

如题所述

1、获取到需要存放的值,比如姓名"张三",在后台的servlet中放入request中,request.setAttribute("name","张三");

2、将servlet输出到指定的jsp页面,比如test.jsp。

3、在test.jsp上引用jstl标签

4、利用jstl表达式把name的值赋值给test.jsp中指定的input的value属性。

示例:

servlet:

protected void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
    req.setAttribute("name", "张三");
    req.getRequestDispatcher("test.jsp").forward(req, res);
}

test.jsp页面:

<input type="text" id="username" name="username" value="${name}"/>

这样张三的值就自动赋值在input的value上了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-15

将这个值存入 request域中 然后转发到jsp页面 

比如:

servlet中

requset.setAttribute("value",value);

jsp中

<input type="text" value="${requsetScope.value}">这样拿出来 就可以了

servlet主要代码:String value = "采纳我吧";
request.setAttribute("value", value);
request.getRequestDispatcher("/Test.jsp").forward(request, response);
jsp主要代码:
<input type="text" name="text" value="${requestScope.value }">

也可以存入session域中 ,不过还是建议存入request域比较好

追问

不通过req不行么 input里面不写el表达式 就像js里的document通过点value赋值的

追答

以我现在所学的 我觉得是不行的 你必须从servlet传值过去 你才可以设置值啊 不然值从哪里来

本回答被网友采纳
第2个回答  2015-09-25
servlet中写入,request.getSession().setAttribute("value", "haha");
jsp中<input type="text" value="${value}"/>
这个${}就会去session域中获取名字叫value的属性,得到的值就是haha
第3个回答  2015-10-26
首先,数据是通过request传递的,请求也是容器,可以用request.setAttribute(key,value)的方法添加属性。而在jsp中用request.getAttribute(key)或者el表达式等方法接收,进而实现jsp赋值。
第4个回答  2015-12-04
如果是转发页面,request.setAttribute('name', 'value'), 页面上只需用el ${requestScope.name}即可

如果是重定向页面, 则要使用Session
相似回答