Передача значения java-метода в переменную javascript с использованием тега Struts 2 - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть файл JSP

<%@ taglib prefix="s" uri="/struts-tags"%>
<% response.setContentType("application/javascript"); %>

var collegename = '<s:text name="student.collegename"/>';

student.collegename, определенный в файле messages.properties.теперь я могу использовать переменную collegename в файле сценария java.

Есть ли в Struts2 какой-либо тег, с помощью которого я могу передать значение java переменной сценария java?

, например:

var jsvariable = 'string value of a java method';

Я использовал это, но это не сработало: Код сервлета: HttpServletRequest request = ServletActionContext.getRequest();<br> request.setAttribute("collegename", collegename);
Код JSP: var collegename= '<%=request.getAttribute("collegename")%>'; Код Java Script: alert("collegename"+collegename)
это показано в IE: 'collegename' is undefined

пожалуйста, предложите

Я также попробовал это: Класс действия: import javax.servlet.http.HttpServletRequest; HttpServletRequest request; HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("collegename", collegename); System.out.println("now getting attribute-----"); String attr=(String) request.getAttribute("cname"); System.out.println("attr is:::"+attr);

получатель / установщик для свойства collegename.

Код JSP: <%@ taglib prefix="s" uri="/struts-tags"%> <% response.setContentType("application/javascript"); %> var collegename= '<%=request.getAttribute("collegename")%>';

Код Java Script: alert("collegename"+collegename) он показывает в IE: «collegename» не определено

, хотя он показывает получение атрибута (имени колледжа) на консоли, но не отображается в предупреждении java-скрипта.
это показывает в IE: 'collegename' не определено

пожалуйста, просмотрите.

Ответы [ 3 ]

4 голосов
/ 25 февраля 2011

Это вызовет метод getSomeValue() в вашем классе действий.

var collegename = '<s:property value="someValue" escapeJavaScript="true"/>';
4 голосов
/ 24 февраля 2011

Вы можете использовать что-то вроде кода.

var jsvariable = '<%=request.getAttribute("testattribute")%>';

Надеюсь, это поможет

0 голосов
/ 26 августа 2011

Как насчет использования EL, например, $ {userName} или OGNL% {userName} ...

...