我想基于JSP上的URL请求显示特定消息.
请求URL可以是:
/app/cars/{id}
要么
/app/people/{id}
在我的messages.properties上,我得到了:
events.action.cars=My car {0} event events.action.people=My person {1} event
<spring:message code="events.${element.cause}.${?????}" arguments="${element.param['0']},${element.param['1']}"/>
我需要帮助找出我可以使用哪个表达式来解析请求URL并获取ID之前的单词.
解决方法
您可以在JSTL中访问请求URI(实际上是:EL),如下所示:
${pageContext.request.requestURI}
(因此返回HttpServletRequest#getRequestURI()
)
然后,为了确定它,你必须使用JSTL functions taglib进行一些循环.它提供了几种字符串操作方法,如split(),indexOf(),substringAfter()等.不,没有人支持正则表达式.只是解析它.
开球示例:
<c:set var="pathinfo" value="${fn:split(pageContext.request.requestURI,'/')}" /> <c:set var="id" value="${pathinfo[pathinfo.length - 1]}" />
并将其用作${id}.