Манипулировать данными бина Struts за пределами тегов Struts - PullRequest
1 голос
/ 20 августа 2010

Мне бы хотелось, чтобы следующий код работал, но я не знаю, как получить компонент формы вне тега Struts.

<logic:equal name="model" property="answerType" value="TEXT">
 <%
  String keyval = "questionAnswer" + "(" + model.getAnswerType() + ")";
 %>
 <html:text property="<%= keyval %>" value=""></html:text>    
</logic:equal>

Есть ли способ получить форму Strutsbean-компонент в JSP, чтобы я мог использовать что-то большее, чем теги struts, для выполнения какой-либо обработки?

Извините, если это ужасно просто, но, возможно, можно сказать так: есть ли способ взаимодействия страницы JSP?с bean-компонентом Struts без использования тегов Struts, которые осведомлены о Form-bean?

Ответы [ 3 ]

4 голосов
/ 20 августа 2010

на основе определения области компонента формы (сеанс, запрос или ...) в XML-файле, который вы можете получить из объекта из этой области:

пример сеанса:

MyFormBean m = (MyFormBean) session.getAttribute("<form bean name>");

вы даже можете использовать теги JSP или JSTL, чтобы получить этот объект из области.

0 голосов
/ 04 сентября 2010

Существует четыре способа получить значения из следующего.1.session 2.page 3.request 4.response 5.application

1.session Вы должны объявить scope = session

Строковое имя = request.getParameter ("имя пользователя");

где имя пользователя берется с предыдущей страницы текстового поля или всего, что вы указали, что.

session.setAttribute ("ключ", значение);String s = session.getAttribute ("key");

Значение может быть получено до истечения сеанса.

0 голосов
/ 20 августа 2010

Что-то в вопросе должно вызывать более высокий уровень мозговой активности.

Я нашел ответ почти сразу, и заслуга: accessing-struts-formbean-attribute-from-jsp

Вот мой обновленный код, который работает:

            <logic:equal name="model" property="answerType" value="TEXT">
                <bean:define id="qlabel" name="model" property="questionLabel" />
                <%
                    String keyval = "questionAnswer" + "(" + qlabel + ")";
                %>
                <html:text property="<%= keyval %>" value=""></html:text>               
            </logic:equal>
...