java - Spring mvc如何在 Controller 中添加变量并将其用作jsp中的条件

标签 java jsp spring-mvc jstl

您好,我提交表单时执行以下代码:

@ActionMapping(params = "ConController=showPayment")
public void showPayment(ActionResponse response, @ModelAttribute("conPayForm") ConsiPayForm consiForm, Model model) {
        PaymentDetailsResponse paymentDetailsResponse = stand.getDet();

           ViewDet view = stand.getView();
            ...
            PaymentDetails paymentDetails = paymentDetailsResponse.getPayDetails();
            ....        
            model.addAttribute("paymentDetails", paymentDetails);
        }
    }

该 bean 是:

ViewDet.class

    List <String> colours;
    List <String> design;
    ...

showPayment 方法完成后,将显示 view.jsp,并且我在 jsp 中使用 jSTL。我在jsp中有一个查看按钮, 基本上我想在 view.jsp 中添加一个检查,如果颜色和设计为空,则隐藏 View 按钮。 请问您知道如何从 Controller 中执行此操作吗?

最佳答案

您需要在modelAndView对象中添加值,这相当于在请求中添加,并且您需要从 Controller 方法返回modelAndView。

     @ActionMapping(params = "ConController=showPayment")
        public ModelAndView showPayment(ActionResponse response, @ModelAttribute("conPayForm") ConsiPayForm consiForm, Model model) {
                PaymentDetailsResponse paymentDetailsResponse = stand.getDet();

                   ViewDet view = stand.getView();
                    ...
                    PaymentDetails paymentDetails = paymentDetailsResponse.getPayDetails();
                    ....        
                    model.addAttribute("paymentDetails", paymentDetails);
                    ModelAndView modelAndView = new ModelAndView("view"); //as per view resolver
                    modelAndView.addObject("",colorsList);
                    modelAndView.addObject("design",designList);
                    return modelAndView;
                }
            }

在jsp中你可以使用jSTL检查这些属性

<c:if test="${not empty colorsList}">
... display button
</c:if>

Here是一些简单的例子。

关于java - Spring mvc如何在 Controller 中添加变量并将其用作jsp中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26282747/

相关文章:

java - JLabel 在 ActionListener 中没有被正确识别

java - Hibernate @Table 注释中的动态模式

java - Controller 方法上的自定义 validator

java - 以编程方式显示来自 Servlet 类的网页

javascript - 无法在 spring security 3 中允许静态资源

JAVA Spring 返回图像字节 - 错误 406 Not Acceptable

具有多线程和锁的 Java ScriptEngine

java - 在 JSP 页面中使用 JSTL 生成数字

java - Ajax 调用后重定向到一个页面,其中 URL 在 Spring Controller 中确定

java - 如何从其他服务获取@GetMapping内部的路径