【问题标题】:Spring MVC call jsp from sub menuSpring MVC 从子菜单调用 jsp
【发布时间】:2017-10-13 20:54:24
【问题描述】:

我的 jsp 中有一个菜单:

<ul class="submenu">
    <li class="">
        <a href="create/wizard">
            <i class="menu-icon fa fa-caret-right"></i>
            Wizard
        </a>

        <b class="arrow"></b>
    </li>
    <li class="">
        <a href="view/contract">
            <i class="menu-icon fa fa-caret-right"></i>
            Contract
        </a>

        <b class="arrow"></b>
    </li>
</ul>

2 个 jsp 的 2 个菜单,一个是创建,一个是查看。我的控制器:

@RequestMapping(value = "/create/wizard", method = RequestMethod.GET)
public String createForm(Model model) {
    ContractHeader ch = new ContractHeader();
    model.addAttribute("createForm", ch);

    return "wizard";
}    

@RequestMapping(value = "/view/contract", method = RequestMethod.GET)
public String ViewContract(Model model) {
    model.addAttribute("contractHeader", new ContractHeader());
    model.addAttribute("ch", this.contractHeaderService.listContractHeaders());

    return "viewcontract";
}    

我第一次登录时,如果您转到任何可以使用的页面,但假设我在 /create/wizard url (http://localhost:8080/ccts/create/wizard) 并且我转到 /view/contract,则 url 变为:

Wrong: http://localhost:8080/ccts/create/view/contract

Type Status report
messageNot Found
descriptionThe requested resource is not available.

什么时候去

Correct: http://localhost:8080/ccts/view/contract

额外的“创建”附加到正确的 url。知道为什么吗?

【问题讨论】:

  • 尝试${pageContext.request.contextPath}/create/view 在你的jsp中创建绝对路径。

标签: java spring jsp spring-mvc


【解决方案1】:

您可以使用${pageContext.request.contextPath}

将您的链接更改为此

<a href="${pageContext.request.contextPath}/create/wizard">
    ...
</a>

和

<a href="${pageContext.request.contextPath}/view/contract">
    ...
</a>

【讨论】:

  • 很高兴它有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-08-05
相关资源
最近更新 更多