日期:2014-05-17  浏览次数:20878 次

struts form表单问题
JSP页面:
<s:form action="courseUpdate.action" method="post">
<table>
<tr>
<td bgcolor='#e2f0fa'>标题</td>
<td><input type="text" name="course.title" id="title"   value="<s:property value="course.title" />" /></td>
</tr>
<tr>
<td>
<input type="button" id="but"  value="编辑" />
<input type="submit" id="sub"  value="提交" />
</td>
</tr>
</table>
</s:form>
struts配置文件:
<package name="Course" namespace="/" extends="struts-default">
    <action name="courseUpdate" class="courseAction" method="courseUpdate" >
         <result name="success">/page/courseDetailed.jsp</result> 
         <result name="false">login.jsp</result> 
        </action>
</package>
action类:
//更新课程内容
public String courseUpdate(){
System.out.println("更新课程内容");
System.out.println(course.getId());
System.out.println(course.getContentStr());
System.out.println(course.getTitle());
boolean bool = courseService.updateCourse(course);
return "success";
}

控制台输出结果:
1
内容, 
标题111, 

问题:
为什么每次提交,在action获取的值后面会多出一个逗号???
struts input

------解决方案--------------------
因为name="course.title"出现了2次  struts默认是根据name去映射值的  如果你在页

面中定义了好几个一样的name  后台映射值的时候会获取多个值 并用逗号隔开

你可以在页面上找找是不是有2个name="course.title"