Sim*_*mon 7 java forms servlets javabeans
我有一个简单的人类:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
和一个简单的HTML页面:
<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>
Run Code Online (Sandbox Code Playgroud)
和一个简单的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");
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法自动化参数设置?
像魔术一样的东西
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");
}
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 19
为此,经常使用Apache Commons BeanUtils.
BeanUtils.populate(bean, request.getParameterMap());
Run Code Online (Sandbox Code Playgroud)
而已.
为了更进一步,您可以采用一个使用Javabeans作为模型的MVC框架,这样您根本不需要担心它们,例如JSF或Spring MVC.
与具体问题无关,getParameterValues()在这个具体例子中使用是笨拙的.只是用getParameter().
p.setName(request.getParameter("name"));
p.setSecondname(request.getParameter("secondname"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6361 次 |
| 最近记录: |