我正在尝试将sitemesh返回的元标记的值与字符串进行比较,但是它没有显示正确的结果。下面是我正在尝试的代码。如果出现问题,请告诉我。
<c:set var="pageName" scope="request" ><sitemesh:write property='meta.menu'/></c:set>
<c:if test="${pageName=='Doctorhome'}"> somthing </c:if>
如果阻止内容,则不打印。此外,我尝试打印$ {pageName},它打印 Doctorhome 。
请告诉我有什么问题。
答案 0 :(得分:0)
尝试使用c:set
标记的值属性
<c:set var="pageName" scope="request" value="${<sitemesh:write property='meta.menu'/>}" />
<c:if test="${pageName == 'Doctorhome'}"> somthing </c:if>
答案 1 :(得分:0)
“pageName”在请求范围内,因此请更改此行:
<c:if test="${pageName=='Doctorhome'}"> somthing </c:if>
到
<c:if test="${requestScope.pageName=='Doctorhome'}"> somthing </c:if>
当你将requestScope.pageName转储到屏幕上时,通过在它之前和之后添加和附加一个字符,检查它是否为空格:
<c:out value="=${requestScope.pageName}="/>
确保等号和DoctorHome文本之间没有空格。
答案 2 :(得分:0)
在做了很多R&amp; D后,我观察到sitmesh写标签在EL之后被处理。 所以我使用EL本身检查页面值。