基于请求参数填充 Javabeans 的简单方法 [英] Easy way of populating Javabeans based on request parameters
本文介绍了基于请求参数填充 Javabeans 的简单方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的person类:
I have a simple person class:
package simpleApp.entities;
public class Person {
private String name;
private String secondname;
public void setSecondname(String cognome) {
this.secondname = cognome;
}
public String getSecondname() {
return secondname;
}
public void setName(String nome) {
this.name = nome;
}
public String getName() {
return name;
}
}
和一个简单的 html 页面:
and a simple html page:
<html>
<body>
<form action="/simpleApp/person/" method="POST">
name: <input type="text" name="name"><br>
second name: <input type="text" name="secondname"><br>
<input type="submit">
</form>
</body>
</html>
和一个简单的 servlet:
and a simple servlet:
public class Person extends HttpServlet {
private static final long serialVersionUID = 1L;
public Person() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//LOOK HERE:
simpleApp.entities.Person p = new simpleApp.entities.Person();
p.setName(request.getParameterValues("name")[0]);
p.setSecondname(request.getParameterValues("secondname")[0]);
response.sendRedirect("/simpleApp/index.html");
}
}
有没有办法自动设置参数?
Is there a way to automate the parameter setting?
像魔法一样的东西
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
simpleApp.entities.Person p = new simpleApp.entities.Person();
Magic.justSetEverything(p, request);
// NOT NEEDED ANYMORE!!! MUAHAHAHA more time for coffee
// p.setName(request.getParameterValues("name")[0]);
// p.setSecondname(request.getParameterValues("secondname")[0]);
response.sendRedirect("/simpleApp/index.html");
}
推荐答案
为此 Apache Commons BeanUtils经常使用.
BeanUtils.populate(bean, request.getParameterMap());
就是这样.
为了更进一步,您可以采用使用 Javabeans 作为模型的 MVC 框架,这样您就完全不需要担心它们,例如 JSF 或 Spring MVC.
To get a step further, you can adopt a MVC framework which uses Javabeans as models so that you don't need to worry about them at all, such as JSF or Spring MVC.
与具体问题无关,在这个特定示例中使用 getParameterValues()
是笨拙的.只需使用 getParameter()
.
Unrelated to the concrete question, using getParameterValues()
is clumsy in this specific example. Just use getParameter()
.
p.setName(request.getParameter("name"));
p.setSecondname(request.getParameter("secondname"));
这篇关于基于请求参数填充 Javabeans 的简单方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文