簡體   English   中英

JSP 未終止<s:a>使用嵌套 OGNL 標記

[英]JSP Unterminated <s:a> Tag With Nested OGNL

我有一些 OGNL 用於將<s:a>的 href 元素填充到動態生成的 URL,由 Google UserService 處理。

<%@ 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>

但是,我收到一條錯誤消息,指出<s:a>標記未終止。 我曾嘗試轉義內部語音標記,並使用單引號,但到目前為止,我一直收到相同的錯誤消息。

(11,71) Unterminated &lt;s:a tag

我這輩子都看不出哪里出了問題。 也許對語言有更好眼光的人會看到我看不到的東西。

你不能在 Struts 標簽的屬性中使用 JSP 標簽,但你可以在那里使用 OGNL。

另請注意,您只能在 Struts 標簽的屬性中使用 OGNL。 並且在大多數情況下 OGNL 在服務器上執行一次,您不應該使用嵌套的 OGNL 或任何您稱之為的東西。 可能這個問題會告訴你如何使用你調用的嵌套 OGNL

<s:set var="requestUri" value="%{#context['com.opensymphony.xwork2.dispatcher.HttpServletRequest'].requestURI}" />
<s:a href="%{#action.userService.createLoginURL(#requestUri)}">Sign in</s:a>

啊好問題解決了。 結果證明不需要 c:out 來輸出 requestUri 的值。 它可以簡單地保持原樣,用其余的表達式進行評估

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM