如何在jsp中填充java对象值

时间:2014-04-22 05:46:20

标签: java jsp servlets

我有这样的场景。

提交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 %>

我已完成编码并且工作正常但看起来非常笨拙!!

请参考其他任何方式有效地完成此任务。

建议我如何继续,我可以继续努力:)

2 个答案:

答案 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中的

  1. request.getAttribute('KEY') - &gt;这就是你在做什么
  2. ${KEY}
  3. 代码方面的效率是相同的。方法2更整洁。