Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Struts & wed interface 
:(
    Опции темы
Sleepy_PIP
Дата 11.8.2004, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: 3
Всего: 12



Пока еще не разобрался, разбираюсь.
Но не терпится узнать довольно простую штуку -
Возможно-ли создание форм, содержащих поля с проверкой.
Т.е. более конкретно -
1. необходимы на форме поля с проверкой допустимости ввода символов из заданного набора. Да так, что на не попытку ввода не допустимого символа надо выдать предупреждение.
2. необходима проверка (да и впрочем настройка других данных) введенного значения в поле ввода _до_ сабмита всей формы ... т.е. к примеру - проверка допустимости введенной даты после переходя с поля ввода даты на другое поле
3. возможен-ли форматный ввод? - т.е. поле ввода по маске?


я так пока наверное не добрался до места в документации, где это детально разъясняется, поэтому пока не понял - возможно такое в принципе или нет, а?

Спасибо!



--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
Domestic Cat
Дата 11.8.2004, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 6
Всего: 172





--------------------

PM   Вверх
Nikola661
Дата 18.12.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 14.5.2007

Репутация: нет
Всего: 1



Цитата(Domestic Cat @ 11.8.2004,  17:09)
http://www.javaranch.com/newsletter/Mar2003/struts11.html 
(The Validator Framework)

Работал по мануалу!
Вот jsp:
Код

......
<html:form action="/accountUpdate" method="post">
  <table width="100%"  border="1" cellspacing="2" cellpadding="2">
  <tr>
    <td width="20%"><bean:message key="Estimate" /></td>
    <td>
        <select class="edit" name="estimate">
            <logic:present name="estimates">
            <logic:iterate id="estimate" name="estimates" >

            <option value=<bean:write name="estimate" property="id_estimate"/>>
                (<bean:write name="estimate" property="id_estimate"/>) <bean:write name="estimate" property="est_name"/>
            </option>
            
            </logic:iterate>
            </logic:present>
        </select>
    </td>
  </tr>
  <tr>
    <td><bean:message key="RegAccount.date_of_reg" /></td>
    <td><html:text name="acc" property="date_of_reg" /></td>
  </tr>
  ......................../*Дальше ещё поля*/
  <tr>
    <td><html:submit value="Редактировать" /></td>
    <td><html:cancel value="Отмена" /></td>
  </tr>
  </table>
</html:form>
......


struts-config.xml:
Код

........
    <form-beans>
        <form-bean name="accountEditForm" type="ru.burpfr.action.UpdateAccountForm" />
    </form-beans>
    <action-mappings>
        <action path="/accountUpdate" type="ru.burpfr.action.UpdateAccountAction"
             name="accountEditForm" input="account.jsp">
             <forward name="success" path="page.accountRegistration"/>
         </action>
    
    </action-mappings>
    <message-resources parameter="application" />

    <plug-in className="org.apache.struts.tiles.TilesPlugin" >
       <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
       <set-property property="moduleAware" value="true" />
    </plug-in>

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
       <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
........


validation.xml
Код

...............
    <formset language="ru" country="ru">
        <form name="accountEditForm">
            <field property="id_estimate" depends="required">
                <arg0 key="Estimate" />
            </field>
            <field property="date_of_reg" depends="required,date">
                <arg0 key="RegAccount.date_of_reg" />
            </field>
            ...................... <!-- дальше еще поля -->
        </form>
    </formset>
    ............


Код ValidatorForm
Код

import org.apache.struts.validator.ValidatorForm;

public class UpdateAccountForm extends ValidatorForm {
    private int id_estimate;
    private String date_of_reg;
    ...............
    ...............
    public void setId_estimate(int id_estimate) {
        this.id_estimate = id_estimate;
    }

    public int getId_estimate() {
        return id_estimate;
    }
     public void setDate_of_reg(String date_of_reg) {
        this.date_of_reg = date_of_reg;
    }

    public String getDate_of_reg() {
        return date_of_reg;
    }
    /*дальше ещё сэтеры и гетеры*/

}


Код Action'a 

Код

public class UpdateAccountAction extends Action {
    public ActionForward execute (ActionMapping mapping,
           ActionForm form,
           HttpServletRequest request,
           HttpServletResponse response) throws SQLException {
        
        return mapping.findForward("success");
    }
}


Использую struts 1.2.9 и JBoss 4.2.1

Когда запускаю accountUpdate.do (Нажимаю на кнопку "Редактировать") в консоле написано:
Код

16:39:40,062 ERROR [ValidatorForm] No ValidatorAction named required found for field id_estimate
                       org.apache.commons.validator.ValidatorException: No ValidatorAction named required found for field id_estimate
                       at org.apache.commons.validator.Field.handleMissingAction(Field.java:927)

PM MAIL   Вверх
Nikola661
Дата 19.12.2007, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 14.5.2007

Репутация: нет
Всего: 1



Цитата(Nikola661 @  18.12.2007,  11:54 Найти цитируемый пост)
16:39:40,062 ERROR [ValidatorForm] No ValidatorAction named required found for field id_estimate                       org.apache.commons.validator.ValidatorException: No ValidatorAction named required found for field id_estimate                       at org.apache.commons.validator.Field.handleMissingAction(Field.java:927)


Это сообщение убрал. Появлялось из-за заголовка 
Код

<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">


Теперь выходит
Код

09:59:12,656 ERROR [ValidatorForm] org.apache.struts.validator.FieldChecks.valid
ateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.
apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apa
che.commons.validator.Validator, javax.servlet.http.HttpServletRequest)
org.apache.commons.validator.ValidatorException: org.apache.struts.validator.Fie
ldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.Validat
orAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMes
sages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletReq
uest)
        at org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at org.apache.commons.validator.Field.validateForRule(Field.java:827)
        at org.apache.commons.validator.Field.validate(Field.java:906)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:152)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:942)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:255)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:148
2)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:175)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:74)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWor
kerThread.java:112)
        at java.lang.Thread.run(Thread.java:595)

 smile 
PM MAIL   Вверх
Nikola661
Дата 19.12.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 14.5.2007

Репутация: нет
Всего: 1



Неужели никто не знает smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.