struts2下的 -validation.xml,没反应,该如何解决

struts2下的 -validation.xml,没反应
action代码


package com.action;

import com.opensymphony.xwork2.*;
import com.dao.*;

import java.sql.Date;
import java.text.DateFormat;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.*;

public class artiedit extends ActionSupport{
private int artid;
private int cateid;
private String title;
private String details;
private String postdt;
private long hits;
private String author;
insertarti it=new insertarti();
public int getArtid() {
return artid;
}
public void setArtid(int artid) {
this.artid = artid;
}
public int getCateid() {
return cateid;
}
public void setCateid(int cateid) {
this.cateid = cateid;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDetails() {
return details;
}
public void setDetails(String details) {
this.details = details;
}
public String getPostdt() {
return postdt;
}
public void setPostdt(String postdt) {
this.postdt = postdt;
}
public long getHits() {
return hits;
}
public void setHits(long hits) {
this.hits = hits;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public insertarti getIt() {
return it;
}
public void setIt(insertarti it) {
this.it = it;
}
public String execute() throws Exception
{

if("0".equals(Integer.toString(cateid)))
return "error";
SimpleDateFormat s= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
postdt=s.format(new java.util.Date());
if(it.insertat(cateid, title, details, postdt,"bobo" /*author*/))
return "success";
else
return "error";
}

}


jsp页面代码

<%@page import="com.model.categ"%>
<%@ page language="java" import="java.util.*" import="com.sqlDS.*" import="java.sql.Connection" import="java.sql.*" import ="java.sql.SQLException" import ="com.model.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%> 

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'artiedit.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <div class="main">
  <div id="right">
  <s:form action="artiedit.action" method="post">
   <table class="table">
   <tr>
   <td>类别</td>
   <td>
   <select name="cateid">
   <option value="00000">请选择</option>
   <%
PreparedStatement pstmt=null;
ResultSet rst=null;
Connection conn=null;
//ArrayList<categ> soArr =new ArrayList<categ>();
try{
getComDS ds =new getComDS();
conn=ds.getConnection();
pstmt=conn.prepareStatement("SELECT [cateid],[catename],[intr] FROM [glutsc].[dbo].[categ]");
rst=pstmt.executeQuery();
while(rst.next())
{%>
<option value=<%=rst.getInt("cateid")%>><%=rst.getString("catename")%></option>
<%}
pstmt.close();
rst.close();
}catch(SQLException e)
{
e.printStackTrace();

finally
{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
 %>
    </select>
   </td>
   </tr>
    <tr><td>文章题目</td><td><input type="text" name="title" size="50"/></td></tr>
    <tr><td>文章内容</td><td><textarea name="details" cols="70" rows="12"></textarea></td></tr>