我对编写JSP/Servlet时使用的技巧感兴趣.我将开始:
我最近发现了如何在另一个标记的属性中包含一个JSP标记的输出:
<c:forEach items="${items}">
<jsp:attribute name="var">
<mytag:doesSomething/>
</jsp:attribute>
<jsp:body>
<%-- when using jsp:attribute the body must be in this tag --%>
</jsp:body>
</c:forEach>
Run Code Online (Sandbox Code Playgroud) 我正在尝试遵循Design Patterns基于Web的应用程序的模式.从maping"root"URL开始,这一切都很好.
我想通过"前端控制器"提出所有请求,所以我放了
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
在web.xml.通过Netbeans逐步显示请求进入,并且Action工作正常,但接着是行
request.getRequestDispatcher("/WEB-INF/" + view + ".jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
也被控制器捕获,它再次进入Action,一切都失败了.
我可以通过不从URL根目录来使其工作,例如
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/pages/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的.有没有办法让它与"根"URL一起使用?