2009-05-30 55 views
1

是否有可能在jsp scriptlet中訪問struts2變量?可以在jsp scriptlet中訪問struts2變量嗎?

如果我有像Struts2的

<s:set var="test" value="%{'true'}"/> 

我可以在JSP腳本使用變量 「test」 變量?

如果是。這怎麼可能?

任何人都可以提供一些想法嗎?

謝謝。

回答

1
<jsp:useBean id="test" class="java.lang.String" scope="request"/> 

<% 
     test = "false"; 
%> 

1. outside scriptlet: <c:out value="${test}"/> <!-- will not print anything --> 

<% 
    out.println("2. in scriptlet: " + test);  // will print false 
%> 

<c:set var="test" value="true" /> 

3. outside scriptlet: <c:out value="${test}"/> <!-- will print true --> 

<% 
    out.println("4. in scriptlet: " + test);  // will print false 
%> 
4

甚至可以使用請求對象來獲取操作變量。例如,如果您在活動具有可變String userName,您可以使用

<% 
String userName = (String) request.getAttribute("userName"); 
%> 
2

是,

<s:set var="jspVariable" value="%{strutsVariable}"/> 
<jsp:useBean id="jspVariable" type="com.example.Object" /> 
<%=jspVariable%> 
+0

爲什麼我們需要爲剛剛在JSP文件中定義的變量的值增加一個額外的bean ? – Sourabh 2016-09-28 04:18:21