Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp @请求映射不可访问_Jsp_Spring Mvc_Spring Boot - Fatal编程技术网

Jsp @请求映射不可访问

Jsp @请求映射不可访问,jsp,spring-mvc,spring-boot,Jsp,Spring Mvc,Spring Boot,我想我需要第二双眼睛,因为我被这双眼睛难住了 我有一个促销页面/促销,其中有一个指向/promotion/new的链接。此链接将转到另一个允许您创建新促销的页面 我想要的是,当我在/promotion/new时,我有一个Add按钮。“添加”按钮的作用无关紧要。但是,该按钮找不到@RequestMapping PromoController.java 包com.mycompany.wpa.web; //进口 @控制器 @RequestMappingvalue=/promotion @固氮蒺藜 公共

我想我需要第二双眼睛,因为我被这双眼睛难住了

我有一个促销页面/促销,其中有一个指向/promotion/new的链接。此链接将转到另一个允许您创建新促销的页面

我想要的是,当我在/promotion/new时,我有一个Add按钮。“添加”按钮的作用无关紧要。但是,该按钮找不到@RequestMapping

PromoController.java

包com.mycompany.wpa.web; //进口 @控制器 @RequestMappingvalue=/promotion @固氮蒺藜 公共类升级控制器扩展BaseApplicationController{ 私有PromoBean; @RequestMappingmethod=RequestMethod.GET 公共字符串initPromotionModel模型{ System.out.printlinit升级方法调用!!!!; //初始化 promoBean=新的promoBean; promoBean.initialize; //发送null,因为我们不希望特定于日期。 promoBean.setPromoMap priceService.GetActivePromotionsAll; model.addAttributepromoBean、promoBean; 退货促销单; } @RequestMappingvalue=/new,method=RequestMethod.GET 公共字符串createPromotionModel模型{ System.out.println createPromotion方法调用!!!!; //初始化 promoBean=新的promoBean; promoBean.initialize; model.addAttributepromoBean、promoBean; 退货促销; } @RequestMappingvalue=/new params=addSku,method=RequestMethod.POST 公共字符串addSkuToPromo@ModelAttributePromoBean PromoBean,模型{ System.out.println addSku调用的新方法; model.addAttributepromoBean、promoBean; 退货促销; } } promotionList.jsp

promotion.jsp

这个流程是当您转到/promotion时,您将被带到一个促销列表。在此屏幕上,单击“新建”链接,然后它会将您带到/promotion/New,其中显示您的a表单以创建新的促销

在这个表单上,有一个名为addSku的按钮,它当前不做任何操作。我尝试将它连接到PromotionController.java,但除非我从addSkuToPromo方法中删除@ModelAttribute PromoBean PromoBean,否则它找不到它

我甚至通过从@RequestMapping中删除value=/new进行了测试,然后将按钮放在promotionList.jsp页面上,它成功了!。。。所以我认为这是一个映射问题,我只是不明白它是什么

错误消息

出现意外错误类型=错误请求,状态=400。
对对象='promoBean'的验证失败。错误计数:2

能否共享您的web.xml?您在web.xml中设置了DispatcherServlet吗?我使用的是spring boot,所以没有web.xml。我有一种感觉,我的问题是我不理解RequestMapping或@ModelAttribute是如何工作的。我刚刚意识到浏览器上显示了一条错误消息。我已经在上面的末尾添加了它。我尝试搜索错误,但没有有效的搜索结果。我不知道这是什么意思。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<t:wrapper>
    <jsp:attribute name="header">
        <%@ include file="../templates/header.jsp" %>
    </jsp:attribute>
    <jsp:attribute name="navigation">
        <%@ include file="../templates/navigation.jsp" %>
    </jsp:attribute>
    <jsp:attribute name="footer">
        <%@ include file="../templates/footer.jsp" %>       
    </jsp:attribute>

    <jsp:body>
        <h1>Promotions</h1>

        <div class="row">
            <div class="col-md-6">
                <c:url var="newUrl" value="/promotion/new" />
                <a class="btn btn-success" style="float: right;" href="${newUrl}">New</a>
            </div>
        </div>
        <div class="row">
            <div class="col-md-6">
                <table class="table table-striped table-hover">
                    <thead>
                        <tr>
                            <th>Promotion Type</th>
                            <th>Start Date</th>
                            <th>End Date</th>
                            <th>Edit</th>
                        </tr>
                    </thead>
                    <tbody>
                        <c:forEach var="promo" items="${promoBean.promoMap}" varStatus="status">
                            <tr>
                                <td><span class="label label-primary">${promo.value.promoCategory}</span></td>
                                <td><fmt:formatDate value="${promo.value.promoStartDate}" pattern="yyyy-MM-dd" /></td>
                                <td><fmt:formatDate value="${promo.value.promoEndDate}" pattern="yyyy-MM-dd" /></td>
                                <td>
                                    <a href="promotion/edit/${promo.value.promoId}">
                                        <span class="glyphicon glyphicon glyphicon-edit"></span>
                                    </a>
                                </td>
                            </tr>
                        </c:forEach>
                    </tbody>
                </table>
            </div>
        </div>
    </jsp:body>
</t:wrapper>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

<t:wrapper>
    <jsp:attribute name="header">
        <%@ include file="../templates/header.jsp" %>
    </jsp:attribute>
    <jsp:attribute name="navigation">
        <%@ include file="../templates/navigation.jsp" %>
    </jsp:attribute>
    <jsp:attribute name="footer">
        <%@ include file="../templates/footer.jsp" %>       
    </jsp:attribute>

    <jsp:body>
        <h1>Promotions</h1>

        <form:form commandName="promoBean" method="POST">
            <div class="row">
                <div class="col-md-3">
                    <div class="input-group">
                        <form:input path="promoSku" class="form-control" placeHolder="SKU" type="text"/>
                        <span class="input-group-addon">$</span>
                        <form:input path="promoValue" class="form-control" placeHolder="Value" type="text"/>
                        <span class="input-group-btn">
                            <button class="btn btn-success" name="addSku">
                                <span class="glyphicon glyphicon-plus"></span>
                            </button>
                        </span>
                    </div>
                </div>
            </div>
        </form:form>
    </jsp:body>
</t:wrapper>