Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Struts Validator

5.0K
21 мая 2007 года
Fubu_By
74 / / 31.12.2006
Сижу разбираюсь со стратсом, но не могу сделать чтобы работал валидатор.
может у кого есть готовый пример который достаточно скапировать на сервер и он будет работать? хочу посмотреть где и что
6.6K
22 мая 2007 года
Aoli
185 / / 22.01.2007
А ты в struts-config.xml в теге action параметр input написал?
5.0K
23 мая 2007 года
Fubu_By
74 / / 31.12.2006
да писал
6.6K
23 мая 2007 года
Aoli
185 / / 22.01.2007
jsp - страница
Код:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
<html>
<head><title>TestForm</title></head>
<body>
<html:form action="test">
    Enter name:
    <html:text property="name" value="name"/>
    <br>
    Enter number:
    <html:text property="number" value="100"/>
    <br>
    <html:submit value="Send"/>
    <br>
    <html:errors/>
</html:form>
</body>
</html>


struts-config.xml
Код:
<struts-config>
    <form-beans>
        <form-bean name="TestForm"  type="TestForm"/>
    </form-beans>
    <action-mappings>
        <action path="test" name="TestForm" validate="true" input="/index.jsp" />
    </action-mappings>
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
                      value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
</struts-config>


validation.xml
Код:
<form-validation>
    <formset >
        <form name="TestForm">
            <field property="name" depends="required, mask, maxlength">
                <var>
                    <var-name>mask</var-name>
                    <var-value>^[A-ZА-Я][a-z A-ZА-Яа-я]+$</var-value>
                </var>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>20</var-value>
                </var>
                <arg key="Field name" position="0" name="required" resource="false"/>
                <arg key="Field name" position="0" name="mask" resource="false"/>
                <arg key="Field name" position="0" name="maxlength" resource="false"/>
            </field>
            <field property="number" depends="required, integer">
                <arg key="Field number" position="0" name="required" resource="false"/>
                <arg key="Field number" position="0" name="integer" resource="false"/>
            </field>
        </form>
    </formset>
</form-validation>


код класса формы
Код:
public class TestForm extends ValidatorForm {
    protected String name;
    protected int number;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }
}

моя версия стратса: 1.3.0
5.0K
24 мая 2007 года
Fubu_By
74 / / 31.12.2006
большое спасибо за пример теперь намного быстрее разбирусь, что на что влияет
5.0K
25 мая 2007 года
Fubu_By
74 / / 31.12.2006
у меня на ваш пример выскакивает такая куча ошибок
Код:
StandardManager[/struts]: Seeding random number generator class java.security.SecureRandom
StandardManager[/struts]: Seeding of random number generator has been completed
ContextConfig[/struts]: Added certificates -> request attribute Valve
StandardWrapper[/struts:default]: Loading container servlet default
Parse Error at line 10 column 68: Element type "plug-in" must be declared.
org.xml.sax.SAXParseException: Element type "plug-in" must be declared.
..........
Parse Error at line 14 column 17: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".
org.xml.sax.SAXParseException: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".
..........
register('-//Apache Software Foundation//DTD Struts Configuration 1.0//EN', 'jar:file:E:/Documents and Settings/z/jbproject/struts/struts/WEB-INF/lib/struts.jar!/org/apache/struts/resources/struts-config_1_0.dtd'
register('-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN', 'jar:file:E:/Documents and Settings/z/jbproject/struts/struts/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web-app_2_2.dtd'
register('-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN', 'jar:file:E:/Documents and Settings/z/jbproject/struts/struts/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web-app_2_3.dtd'
resolveEntity('-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN', 'http://java.sun.com/dtd/web-app_2_3.dtd')
 Resolving to alternate DTD 'jar:file:E:/Documents and Settings/z/jbproject/struts/struts/WEB-INF/lib/struts.jar!/org/apache/struts/resources/web-app_2_3.dtd'
Call org.apache.struts.action.ActionServlet.addServletMapping(action/java.lang.String,*.do/java.lang.String)
Call org.apache.struts.action.ActionServlet.addServletMapping(debugjsp/java.lang.String,*.jsp/java.lang.String)
StandardWrapper[/struts:invoker]: Loading container servlet invoker
WebappLoader[]: Deploying class repositories to work directory E:\Documents and Settings\z\jbproject\struts\Tomcat\work
WebappLoader[]: Reloading checks are enabled for this Context
StandardManager[]: Seeding random number generator class java.security.SecureRandom
StandardManager[]: Seeding of random number generator has been completed
ContextConfig[]: Added certificates -> request attribute Valve
StandardWrapper[:default]: Loading container servlet default
StandardWrapper[:invoker]: Loading container servlet invoker
HttpConnector[8083] Starting background thread
StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception
javax.servlet.ServletException
javax.servlet.ServletException


может это из-за различных версий, попробую ещё с 1.3, скачаю
6.6K
27 мая 2007 года
Aoli
185 / / 22.01.2007
Надо подумать...
Может, и я ошибся.
В Пн-Вт проверю еще разок на работе. Надеюсь будет еще актуально ;)
5.0K
28 мая 2007 года
Fubu_By
74 / / 31.12.2006
чуть-что скинте архив
6.6K
29 мая 2007 года
Aoli
185 / / 22.01.2007
Лови.
Я в идее работал.
На томкате деплоил.
Имя валидирует :)
5.0K
29 мая 2007 года
Fubu_By
74 / / 31.12.2006
спасибо
5.0K
03 июня 2007 года
Fubu_By
74 / / 31.12.2006
У меня всё не может найти validator-rules.xml, validation.xml, *.properties. они лежат в
 
Код:
Web-inf/validator-rules.xml
Web-inf/validation.xml
classes/resources/MessageResources.properties

в struts-config.xml я прописал
 
Код:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
                      value="/WEB-INF/validator-rules.xml"/>
        <set-property property="pathnames"
                      value="/WEB-INF/validation.xml"/>
</plug-in>

и
 
Код:
<message-resources parameter="resources.MessageResources"/>

при запуске (я пользуюсь JBuilder 9.0), выдаёт ошибки
 
Код:
Parse Error at line 37 column 68: Element type "plug-in" must be declared.
org.xml.sax.SAXParseException: Element type "plug-in" must be declared.

 
Код:
Parse Error at line 43 column 62: Element type "message-resources" must be declared.
org.xml.sax.SAXParseException: Element type "message-resources" must be declared.

 
Код:
Parse Error at line 44 column 17: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".
org.xml.sax.SAXParseException: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".

Я использую Struts 1.0.2
6.6K
03 июня 2007 года
Aoli
185 / / 22.01.2007
[qoute]
Parse Error at line 44 column 17: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".
org.xml.sax.SAXParseException: The content of element type "struts-config" must match "(data-sources?,form-beans?,global-forwards?,action-mappings?)".
[/quote]
О!!!!!!!!
1. Твой парсер говорит, что у тебя не в том порядке стоят элементы struts-configa может быть, поэтому, он и не может найти plug-in и message-resources?!
2. Он еще говорит, что у тебя не знает никаких других элементов, кроме "(data-sources?,form-beans?,global-forwards?,action-mappings?)"
3.
Цитата:

Я использую Struts 1.0.2


В версии 1.3.5 точно есть плагины и ресурсы ;), а в 1.0.2 их, судя по всему, нет.

5.0K
05 июня 2007 года
Fubu_By
74 / / 31.12.2006
я кроме form-beans ,action-mappings, других пораметров не указывал, так что нарушение порядко быть и не может, а когда отключаю плагины и ресуры то насчёт порядкаошибок не бывает
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог