我有这样的场景。
提交JSP页面请求后转到servlet。 在servlet中,我需要将对象发送到同一个JSP页面以填充表单文本字段。
用户将在表单中输入id值,我们需要从数据库中获取数据,并且需要填充同一页面中的其余字段
我在过程中使用了这些行
//In servlet
//1 request.setAttribute("student",student);
//2 request.getRequestDispatcher("/Student.jsp").forward(request, response);
//In JSP
used getAtttibute here
input type="text" name="name" value=<%=name %>
我已完成编码并且工作正常但看起来非常笨拙!!
请参考其他任何方式有效地完成此任务。
建议我如何继续,我可以继续努力:)
答案 0 :(得分:1)
虽然您的方法有点,但您应该avoid using scriptlets in your view at all。因此,使用Expression Language
从请求属性中检索数据<input type="text" name="name" value="${student.name}" />
您可以使用三元运算符克服null
值:
<input type="text" name="name" value="${empty student ? "" : student.name}" />
答案 1 :(得分:0)
你可以用JSTL EL(表达式语言)替换getAttribute,所以基本上
request.setAttribute('KEY')
可以通过访问JSP中的
request.getAttribute('KEY')
- &gt;这就是你在做什么${KEY}
代码方面的效率是相同的。方法2更整洁。