当使用弹簧 mvc 添加到模型中时,如何在 Jsp 中查看数据



单击提交按钮时,我的应用程序有以程:

1)viewActivity 方法从 ActivityController 调用.java

ActivityController.java
@ActionMapping(params = "ActivityController=showActivity")
public void viewActivity(@RequestParam Integer index, ActionResponse response, Model model, @ModelAttribute Header header,
....
    model.addAttribute("recoveryForm", new RecoveryForm(detailsResult.getDetails()));
    response.setRenderParameter("ServiceController", "showService");
}

2)然后从serviceConroller调用showRecovery方法,如下所示:

    ServiceController.JAVA
    @RenderMapping(params = "ServiceController=showService") 
    public String showRecovery(@ModelAttribute recoveryForm form,  @ModelAttribute header header) { 
  .....
            return service; 
    }

然后显示我的服务.jsp

基本上,我必须显示一个变量的值,该变量是在DetailsResult.getDetails()对象中找到的detailName,我已将其添加到我的模型中可以在 ActivityController 中找到的 viewActivity 方法中看到.java显示 ealier。

我知道当我们添加 model.addAttribute 时,它应该能够使用以下标签显示在这个 jsp 上:

<form:input path="..." />

但在这种情况下,它被添加为构造函数参数,如下所示:

model.addAttribute("recoveryForm", new RecoveryForm(detailsResult.getDetails()));

我的恢复表单上有以下变量:

public class RecoveryForm implements Serializable {

    private CDetails Cdlaim;
    private Action addAction;
    private String addRemark;
    private String remarks;
public RecoveryForm(CDetails Cdlaim) {
    ...
    }
    ...
}

但是我没有详细信息导致我的恢复表单。

知道我如何在我的服务中获得 DetailsResult.getDetails() 中的值.jsp?

我相信你看错了。DetailsResult.getDetails()的值显然以某种方式作为属性存储在RecoveryForm中。因此,我假设您的RecoveryForm如下所示:

public class RecoveryForm {
    private String details;
    public RecoveryForm(String details) {
        this.details = details;
    }
    public String getDetails() {
        return details;
    }
}

当您绑定到 jsp 中的表单时,您需要将<form:input ...>标记嵌套在 <form:form ...> 标记中:

<form:form commandName="recoveryForm" ...>
    <form:input path="details" ... />
</form:form>

commandName是告诉表单您将从中提取表单值的模型对象的关键。在本例中,您将从名为 recoveryFormRecoveryForm实例获取 details 属性。有意义?

最新更新