Eclipse中使用struts标签时出错

原因是Action和ActionForm对应文件中没有继承相应的类,具体来说:

ActionForm的编写:

  1. 必须继承org.apache.struts.action.ActionForm
  2. ActionForm内可能封装的表单元素有很多,要得到它们的值,必须编写和表单元素同名的属性

Action的编写:

  1. 必须继承org.apache.struts.action.Action  (不是ActionServlet)
  2. 必须重写execute方法来处理业务逻辑

修改后重新运行:

注意事项:

用Struts标签生成的表单必须指定action属性,否则会报错。

另外,<form>标签的action属性应该包含项目名称,如action="/Ch11/reg.do",开头的"/"代表服务器根目录

<html:form>标签的action属性,如action="/reg.do",开头的"/"代表项目的虚拟目录(测试发现action="/reg"即不加do后缀的写法也能正常运行)。

在浏览器查看网页源代码:

<form name="RegForm" method="post" action="/Ch11/reg.do">
<input type="submit" value="Submit"><input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel" onclick="bCancel=true;">
</form>

说明服务器端通过Struts标签向客户端输出了传统表单。

原文地址:https://www.cnblogs.com/wincent98/p/10014797.html