第1个问题.struts框架校验转换类型出错后(如数字字段输入字母),在当前的页面执行action的其它方法时已经无效了。必须把这个字段置为正确值或还原后才可以。有什么方法可以解决这个问题? 第2个问题。
jsp页面内容:
<td colspan="3" class="table_td_left">
<s:select name="towerTypeId" list="%{#request.towerTypeList}" listKey="%{#request.towerTypeId}" listValue="%{#request.towerTypeName}"  headerKey="" headerValue="--请选择--" 
onchange="checkTowerType(this)"   />
<span>(必填选择)</span>
<span class="cRed" id="towerTypeId_info"> <s:fielderror fieldName="tower.towerType.towerTypeId" /> </span>
</td>这个是必填字段。在action下增加校验的xml文件,内容为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"><validators>    <!--杆塔编号 -->
    <field name="tower.towerCode">
        <field-validator type="requiredstring">
<message>杆塔类型名称不能为空</message>
</field-validator>

<field-validator type="stringlength">
            <param name="minLength">1</param>  
            <param name="maxLength">30</param> 
            <message>杆塔类型名称长度要在${minLength}与${maxLength}之间</message>
        </field-validator>
           
</field>
 
<!--杆塔高度 -->
    <field name="tower.towerHeight">
        <field-validator type="alltypesupportregex">
                <param name="expression"><![CDATA[^[0-9]+(.[0-9]{1,2})?$]]></param>
                <message>杆塔高度必须是正实数,且2位小数位数</message>
        </field-validator> 
</field>

           
</validators>
很郁闷,保存数据后,校验文件内空没有被执行,报错,信息如下:Struts Problem Report
Struts has detected an unhandled exception: Messages: tag 'select', field 'list', name 'towerTypeId': The requested list key '%{#request.towerTypeList}' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} 
tag 'select', field 'list', name 'towerTypeId': The requested list key '%{#request.towerTypeList}' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] 
 
File: org/apache/jasper/servlet/JspServletWrapper.java 
Line number: 541 
--------------------------------------------------------------------------------Stacktraces
org.apache.jasper.JasperException: tag 'select', field 'list', name 'towerTypeId': The requested list key '%{#request.towerTypeList}' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   ....