#struts2
#struts2
Вопрос:
Вопрос: есть ли какой-либо способ выполнить действие с файлом welcome.jsp?
Моя проблема: мой welcome.js файл содержит строковые литералы, замененные свойствами Java, такими как:
<button value"${com.button.ok.literal}" ...
И они заменяются при выполнении действия, проблема в том, что начальный не выполняет никаких действий и, следовательно, нет замены, struts.xml выглядит как:
<action name = "createProcess" class = "com.acme.actions.Init" method="create">
<result name ="ok">/jsp/welcome.jsp</result>
</action>
Я попытался выполнить пустое действие ‘loadLabels’, определив в welcom.js инициализация():
funcion init(){
...
<%
String checkfirst = (String)request.getAttribute("checkfirst");
%>
if ("<%=checkfirst %>" != "first"){
document.forms[0].action ="loadLabels.action?parameter=first";
document.forms[0].submit();
}
Это работает, но я на 100% уверен, что для этого есть лучшее решение.
Комментарии:
1. Просто перенаправьте с welcome jsp на action.
2. Используйте Jquery ajax для загрузки этой функции
Ответ №1:
Вы всегда можете встроить функцию javascript на свою страницу и вызывать ее всякий раз, когда это необходимо для выполнения вашего действия. Код javascript будет выглядеть примерно так
window.location = "${pageContext.request.contextPath}/actionName";
Вызовите что-то вроде
<input type="button" value="Welcome!" onclick="welcomeActionFunction">
Комментарии:
1. И как бы struts.xml как бы это выглядело, если бы я хотел выполнить действие только один раз в методе init()?