我现在已经完成了一些MVC控制器,并使用了spring form标签来回传递数据,但是我现在意识到我的实际理解还很薄。在当前情况下,我实际上可以将响应作为url参数发送,但大约有15个,如果可能的话,我希望将其作为pojo发送。
我的实际问题是...是否可以在jsp中设置spring样式模型属性,而无需传递该属性并且不使用form标记?
举例来说,
//Pojo
Class personclass
{
private String name + getters and setters
private String address + getters and setters
private String phone + getters and setters
...
}
////first mvc call
@RequestMapping ("/")
Public ModelAndView LandingPage()
{
// no mention of Person pbject
Return mandvobject;
}
//jsp page
//This is the question!
SET ModelAttribute that wasn't passed in to the page
personclass = X
//New MVC call without a submit
window.open ("/NewMVCCall")
//New mvc call
@RequestMapping ("/NewMVCCall")
Public void newMVCPage(@ModelAttribute ("pc") personclass pc, Model model)
{
//process pc object
}
还是我错过了要点,我将不得不将其作为json字符串参数发送?抱歉,我对此非常了解,我不确定是否可以很容易地设置自己的http表单内容,还是因为到目前为止我已经使用过Spring表单对象,所以我还没有掌握即将发生的事情的复杂性在幕后(例如,将pojos转换为json的表单标签等)?
如果有人有时间让我走上正确的道路,我将非常感谢...
我不确定我是否正确理解了您的问题,但是您可以将Model链接到控制器,而不必在每次需要时都将其手动传递给视图,spring会解决这个问题:
在您的控制器中:
public class MyController{
@ModelAttribute("pc")
public PersonneClass getPersonnelClass(){
return new PersonneClass();
}
@RequestMapping ("/NewMVCCall")
Public void newMVCPage(@ModelAttribute ("pc") personclass pc, Model model)
{
//process pc object
}
//other methods
}
命名类时最好遵循Java约定,因此(personneClass)必须以大写字母(PersonneClass)开头。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句