Как обрезать значение поля ввода в стойках? - PullRequest
4 голосов
/ 27 октября 2008

Я использую Struts v1.3 и имею следующую форму ввода:

В Struts-config.xml:

    <form-bean name="testForm" 
               type="org.apache.struts.validator.DynaValidatorForm">
        <form-property name="displayName" type="java.lang.String" />
    </form-bean>

В validation.xml:

    <form name="testForm">
        <field property="displayName" depends="required">
            <arg key="input.displayName" />
        </field>
    </form>

Как мне обрезать значение "displayName"? Как мне обрезать значения всех полей ввода "java.lang.String" формы?

Ответы [ 4 ]

2 голосов
/ 05 ноября 2008

У вас может быть возможность обрезать строку прямо сейчас, обработчик запросов обновляет данные из полей ввода в форму. Это не было проверено, но что происходит, когда вы изменяете setTisplayName (String displayName) на что-то вроде

public void setDisplayName(String displayName) {
    this.displayName = displayName.trim();
}

Это не очень хорошее решение, потому что оно переносит логику в сеттер.

привет

1 голос
/ 11 июня 2011

Если вы хотите использовать усечение для проверки целей, я думаю, что правильным способом является создание и использование вашего собственного (или расширение существующего) валидатора для обязательных полей, которые учитывают усечение. Например, вы можете использовать эту страницу: http://struts.apache.org/1.2.4/userGuide/dev_validator.html, раздел «Сменные валидаторы».

Если вы хотите использовать обрезку для обрезки значений String до , используя их в своей бизнес-логике , вы можете расширить org.apache.struts.validator.DynaValidatorForm и перезаписать методы которые извлекают значения, например get (имя строки) , getString (имя строки) и так далее. После этого вы используете свой класс в объявлениях form-bean .

0 голосов
/ 09 апреля 2009

Если вы не возражаете против использования логики манипуляции String в своем классе Form, вы можете попробовать методы StringUtils в Apache Commons Lang JAR:

StringUtils JavaDoc

Это позволит вам обрезать строки несколькими различными способами, независимо от того, хотите ли вы его использовать trimToEmpty, trimToNull и т. Д. Это означает, что у вас есть доступ к нулевым методам, которые могут быть полезны с некоторыми значениями.

0 голосов
/ 09 апреля 2009

Или попробуйте использовать javascript regexp в jsp, который обрежет onfocus или onblur

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...