Java JSP未终止<;s:a>;带有嵌套OGNL的标记
我使用一些OGNL将Java JSP未终止<;s:a>;带有嵌套OGNL的标记,java,jsp,struts2,ognl,Java,Jsp,Struts2,Ognl,我使用一些OGNL将的href元素填充到动态生成的URL中,由Google用户服务处理 <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="requestUri" value="%{#context['com.opensymphony.xwork2.dispatcher.Http
的href元素填充到动态生成的URL中,由Google用户服务处理
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="requestUri" value="%{#context['com.opensymphony.xwork2.dispatcher.HttpServletRequest'].requestURI}" />
<s:a href="%{#action.userService.createLoginURL("<c:out value="${requestUri}"/>");}">Sign in</s:a>
我一辈子都看不出有什么不对。也许对语言有更好眼光的人会看到我看不到的东西。啊,好的,问题解决了。
结果表明,输出requestUri的值不需要c:out。它可以简单地与表达式的其余部分一起计算您不能在Struts标记的属性中使用JSP标记,但可以在那里使用OGNL 还要注意,您只能在Struts标记的属性中使用OGNL。在大多数情况下,OGNL在服务器上执行一次,您不应该使用嵌套的OGNL或任何您称之为OGNL的东西。可能有一个问题将告诉您如何使用嵌套OGNL
登录
感谢您的快速回复Roman:)这允许我编译和部署,但链接是空白的,即不是超链接,只是标记中的纯文本。有什么问题吗?如果对象有合适的getter,为什么它应该是空的?@AleksandrM回滚,因为OP使用的是Struts2和OGNL。不要关闭已回答的问题,不要编辑标记以删除相关标记。@RomanC与S2或OGNL无关。Jsp标记不能像那样嵌套。OP使用的是Struts2标记,如果没有Struts2则无法工作
不是S2标记。@AleksandrM您应该看起来更好。
(11,71) Unterminated <s:a tag