第一次摸struts,纠结了好长时间……
我用的是struts2.3.1.2
1.将struts2所需要的类库添加到lib
2.在创建struts2 的配置文件 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> </struts>运行一下项目,没有错误,这样,整个环境就搭配好了
示例:
struts.xml如下
<struts> <package name="test" namespace="/test" extends="struts-default"><!-- 设置路径 --> <action name="hello" class="cn.ljf.StrutsTest" method="execute"><!--设置所要执行的类cn.ljf.StrutsTest及函数execute --> <result name="success">/WEB-INF/page/Hello.jsp</result><!-- 设置执行的页面 --> </action> </package> </struts>如果没有为action指定class,默认是ActionSupport。
没有为action指定method,默认执行action中的execute()方法
没有指定result 的name属性,默认值为success.
package cn.ljf; public class StrutsTest { private String str; public String getStr() { return str; } public String execute() {//返回的类型是String 属性是public str="hello struts!!!"; return "success"; } } Hello.jsp如下 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%-- @author:ljf @blog:blog.youkuaiyun.com/ljfbest --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ss</title> </head> <body> ${str} <!-- struts会自动执行将变量str加入到request域中 --> </body> </html>
输入:http://localhost:8080/struts/test/hello
显示 :hello struts!!!
另外:Struts2配置文件无提示问题
找到Struts2发行包中的struts-2.0.dtd文件 ,MyEclipse的Window--Preferences--MyEclipse—-Files and Editors—XML—XML Catalog Add按钮,添加一个Add XML Catalog Entry,里面的有三个参数分别是:
Location:File System找到刚刚找到的struts-2.0.dtd文件。
Key Type: 选URI
Key:http://struts.apache.org/dtds/struts-2.0.dtd