Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP未终止<;s:a>;带有嵌套OGNL的标记_Java_Jsp_Struts2_Ognl - Fatal编程技术网

Java JSP未终止<;s:a>;带有嵌套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

我使用一些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.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 &lt;s:a tag