我在项目的JSP页面中有以下代码,
<%@taglib uri="/struts-tags" prefix="s" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<div id="div1"></div>
<div id="div2"></div>
<% String var="hello"; %>
<c:set var="test1" value="<%= var %>"/>
<s:set var="test2" value=" <%=var%>" />
<script>
document.getElementById("div1").innerHTML="${test1}"; //hello
document.getElementById("div2").innerHTML="${test2}"; //nothing is displayed.
</script>
我怀疑<c:set..>
标记和<s:set..>
标记是否由同一个容器执行,
但为什么第一个产生结果为&#34;你好&#34;以后不会给出任何结果。
答案 0 :(得分:0)
一切都很好。在第二种情况下,你没有正确地给出标签。
您的代码
<s:set var="test2" value=" <%=var%>" />
将其更改为
<c:set var="test2" value=" <%=var%>" />
基本上我们使用以下语法显示struts变量试试这个
<s:property value="test2"/>
答案 1 :(得分:0)
您无法在Struts标记内嵌套Scriptlet或其他Struts标记。
但是你可以打开标签并把它放在中间:
<s:set var="test2" >
<%=var%>
</s:set>