[
https://issues.apache.org/struts/browse/WW-1967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Husted updated WW-1967:
---------------------------
Fix Version/s: Future
Setting Fix Version to "future" for issues without a set fix version.
> Dynamic Method Invocation, validator with ActionName-aliasName-validation.xml
> files.
> ------------------------------------------------------------------------------------
>
> Key: WW-1967
> URL: https://issues.apache.org/struts/browse/WW-1967
> Project: Struts 2
> Issue Type: Bug
> Components: Actions
> Affects Versions: 2.0.6
> Environment: Fedora 4, tomcat
> Reporter: Greg Huber
> Priority: Minor
> Fix For: Future
>
>
> Hello,
> I have been trying to get validation working with dynamic method invocation,
> using ActionName-aliasName-validation.xml files.
> When the struts.property is set >>
> struts.enable.DynamicMethodInvocation=true, in the DefaultActionMapper the
> mapping name is changed by removing !submit from the action eg
> fieldValidatorsExamples!submit becomes fieldValidatorsExamples. When the
> validator tries to find
> FieldValidatorsExampleAction-fieldValidatorsExamples!submit-validator.xml it
> cannot, as the validator is looking for
> FieldValidatorsExampleAction-fieldValidatorsExamples-validator.xml. But this
> is now not linked to a method.
> if (allowDynamicMethodCalls) {
> // handle "name!method" convention.
> String name = mapping.getName();
> int exclamation = name.lastIndexOf("!");
> if (exclamation != -1) {
> mapping.setName(name.substring(0, exclamation));
> mapping.setMethod(name.substring(exclamation + 1));
> }
> }
> With struts.enable.DynamicMethodInvocation=false, validator works but method
> name is null.
> This line of code is causing the problem mapping.setName(name.substring(0,
> exclamation));. Without this line seems to work but I am no expert!
> eg:
> <action name="fieldValidatorsExamples!*"
> class="org.apache.struts2.showcase.validation.FieldValidatorsExampleAction"
> method="{1}" >
> <result name="input"
> type="dispatcher">/validation/fieldValidatorsExample.jsp</result>
> <result
> type="dispatcher">/validation/successFieldValidatorsExample.jsp</result>
> </action>
> <s:form action="fieldValidatorsExamples!submit" namespace="/validation"
> method="POST" theme="xhtml">
> <s:textfield label="Required Validator Field"
> name="requiredValidatorField" />
> <s:textfield label="Required String Validator Field"
> name="requiredStringValidatorField" />
> <s:textfield label="Integer Validator Field"
> name="integerValidatorField" />
> <s:textfield label="Date Validator Field"
> name="dateValidatorField" />
> <s:textfield label="Email Validator Field"
> name="emailValidatorField" />
> <s:textfield label="URL Validator Field" name="urlValidatorField"
> />
> <s:textfield label="String Length Validator Field"
> name="stringLengthValidatorField" />
> <s:textfield label="Regex Validator Field"
> name="regexValidatorField"/>
> <s:textfield label="Field Expression Validator Field"
> name="fieldExpressionValidatorField" />
> <s:submit label="Submit" />
> </s:form>
> Cheers Greg
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.