#java #jsp #servlets #struts #struts-1
#java #jsp #сервлеты #struts #struts-1
Вопрос:
предположим, я хочу создать форму с помощью Struts, поэтому моему struts-config понравится это:
<form-bean name="myForm" type="com.MyForm" />
<action path="/entryyourinputs"
type="com.MyAction" name="myForm"
input="/myJsp.jsp">
<forward name="success" path="/regSuccess.jsp" />
</action>
он покажет myJsp для назначения myForm.
мой вопрос в том, как назначить myForm в MyAction вместо myJsp?.
или каков метод назначения некоторых входных данных myForm из MyAction?
с наилучшими пожеланиями
Спасибо
Комментарии:
1. Я не совсем понимаю вопрос.
input
Атрибутом является страница (например, JSP или Tile def), а не компонент формы. Я бы также рекомендовал поместить страницы JSP подWEB-INF
, чтобы запретить прямой доступ клиента.2. извините за мой некачественный вопрос. Я понимаю, что я просто создаю getter и setter, чтобы получить доступ к myForm через MyAction. На самом деле, я просто хочу создать какую-то форму, которая вводится с помощью параметра URL, а не с помощью графического интерфейса ввода на странице JSP (поэтому мне не нужен JSP).
Ответ №1:
В com.MyForm нам нужно создать геттеры и сеттеры для этих входных данных, как показано ниже:
String input;
public String getInput() {return this.input;}
public void setInput(String input) {this.input = input;}
В MyAction, который расширяет класс struts Action, мы присваиваем значения входным данным MyForm следующим образом:
public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {
MyForm myForm = (MyForm) form;
// assigning values to the inputs from action
myForm.setInput("input value");
.....
.....
.....
}
чтобы получить значения в jsp, мы должны использовать html-тег lib:
Код Jsp выглядит как приведенный ниже код:
<html:form action="/entryyourinputs">
<html:text name="myForm" property="input" />
</html:form>
Примечание: Теги html должны находиться внутри **<html:form>**
тега.
входные файлы в jsp значения, которые присваиваются в классе MyAction, автоматически присваиваются полям ввода jsp из-за контроллера.