正则表达式 – 在JSTL中解析请求URL

前端之家收集整理的这篇文章主要介绍了正则表达式 – 在JSTL中解析请求URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想基于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

最后,在我的JSP页面上,我想要以下代码

<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}.

猜你在找的正则表达式相关文章