请教个关于struts2的问题
小弟在看马老师的struts2视频,在简单数据验证的那段视频中我做出来的效果同马老师的效果不一样,
我的效果为:
User Add Error!
[Debug]
马老师的效果为:
User Add Error!
name is error
name is error
[Debug]
我的struts。xml文件内容:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="GBK" />
<package name="default" namespace="/user" extends="struts-default">
<action name="user" class = "defaultaction.UserAction" >
<result >
/user_add_success.jsp
</result>
<result name="error">
/user_add_error.jsp
</result>
</action>
</package>
</struts>
我的java内容:
package defaultaction;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String add() throws Exception {
if(name == null || !name.equals("action")){
this.addFieldError(name, "name is error");
return ERROR;
}
return SUCCESS;
}
}
我的jsp内容:
<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
User Add Error!
<s:fielderror fieldName="name" />
<br />
<s:property value="errors.name[0]"/>
<s:debug></s:debug>
</body>
</html>
老师给我说把jsp内容中的<s:fielderror fieldName="name" />改为<s:fielderror fieldName="a" />这样虽然结果是出来的,但是我觉得不对,应该,这样写的话当name为b的时候,那不是我又要把jsp的内容进行修改呢,如果有1万种选择那我不是死定了啊?还有就是jsp中得<s:property value="errors.name[0]"/>这句话的效果也没有显示出来,希望大家解释下我具体该怎么弄,谢谢了!