我有一个链接
<a href="<c:url value="localhost:8080/CustomerRelationshipManagement/configureUpdate?
firstName=${temp.firstName}&lastName=${temp.lastName}&email=${temp.email}"/>">Update</a>
指向spring mvc mapping
@RequestMapping(value="configureUpdate", method = RequestMethod.GET)
public String configureUpdate(@RequestParam("firstName") String firstName,
@RequestParam("lastName") String lastName, @RequestParam("email") String email,
Model model)
{
Customer customer = new Customer(firstName, lastName, email);
model.addAttribute("customer", customer);
return "update-customer";
}
因此,eclipse中的浏览器只显示
无法显示网页
我试图解决这个问题,但是在处理完成后,我们还没有发现浏览器继续下一个JSP页面的任何方法。
答案 0 :(得分:6)
无法显示网页
这是典型的Internet Explorer错误消息,当浏览器无法首先到达目标时,将显示该错误消息。例如,由于URL语法损坏。
如果您检查过生成的JSP页面的HTML输出,您会注意到它生成了以下HTML代码:
<a href="localhost:8080/CustomerRelationshipManagement/configureUpdate?
firstName=&lastName=&email=">Update</a>
它不是以方案或/
开头,因此它与当前网址相关。想象一下,当前网址为http://localhost:8080/CustomerRelationshipManagement/some.jsp
,然后目标网址将变为http://localhost:8080/CustomerRelationshipManagement/localhost:8080/CustomerRelationshipManagement/configureUpdate?firstName=&lastName=&email=
这当然无效。目标网址应为http://localhost:8080/CustomerRelationshipManagement/configureUpdate?firstName=&lastName=&email=
。
换句话说,生成的HTML输出应该如下所示:
<a href="http://localhost:8080/CustomerRelationshipManagement/configureUpdate?
firstName=&lastName=&email=">Update</a>
或域相关:
<a href="/CustomerRelationshipManagement/configureUpdate?
firstName=&lastName=&email=">Update</a>
或者当前页面当前位于/CustomerRelationshipManagement
文件夹中:
<a href="configureUpdate?firstName=&lastName=&email=">Update</a>
您需要相应地调整JSP代码,使其生成所需的HTML代码。如果JSP页面由与目标URL完全相同的Web应用程序提供,并且您希望继续使用<c:url>
标记,那么它应如下所示:
<c:url var="configureUpdateURL" value="/configureUpdate">
<c:param name="firstName" value="${temp.firstName}" />
<c:param name="lastName" value="${temp.lastName}" />
<c:param name="email" value="${temp.email}" />
</c:url>
<a href="${configureUpdateURL}">Update</a>
它将生成一个域相对URL。