我不喜欢命令对象,因为有很多重复的代码..
我想在vraptor中做这样的事情。
这是Vraptor代码的一个java框架
<form action="<c:url value='/produtos/adiciona'/>">
Nome: <input type="text" name="produto.nome" /><br/>
Descrição: <input type="text" name="produto.descricao" /><br/>
Preço: <input type="text" name="produto.preco" /><br/>
<input type="submit" value="Salvar" />
</form>
@Resource
public class ProdutosController {
//...
public void adiciona(Produto produto) {
dao.adiciona(produto);
}
}
来源http://vraptor.caelum.com.br/en/docs/ten-minute-guide/
在grails中不起作用为什么???现在有人关于这个
class User {
String login
String password
}
<g:form name="form" url="[controller:'user',action:'login']">
Login <input type="text" name="user.login"/><br/>
Senha <input type="password" name="user.password"/><br/>
<input type="submit" value="go"/>
</g:form>
def login(User user){
render("result ${user.login} and ${user.password}")
}
响应为null“result null and null”
答案 0 :(得分:0)
你可以用grails来做,比如:
void adiciona() {
Produto produto = new Produto(params.produto) // 'produto.' is a prefix at this case
dao.adiciona(produto);
}
请参阅文档:http://grails.org/doc/latest/guide/theWebLayer.html#dataBinding
是的,我应该警告你,这种方式可能会导致一些安全问题,因为用户可以更新任何字段,甚至是内部字段,你不想从用户输入中填充。