Struts2 学习笔记 1

1.Struts2 简单来说就是实现了请求和视图(前台页面)的分离。


2.Struts.xml中,package标签,实际意义与JAVA代码中定义的package是一样的,用于把下属的一堆Action都包起来,区别重复命名。

<package name="main" namespace="/" extends="struts-default">
      <action name="Book1" class = "com.kewen.Book.BookAction1"/ >
      <action name="Book2" class = "com.kewen.Book.BookAction2"/ >
</package>


3.namepace = "" 相当于不写namespace ,都算作默认的namespace配置。 这种情况下会在所有的package中寻找对应的action名,只要名字相同即可,无论包名。 一般情况下,这种方法可以用于处理其他所有action都处理不了的业务或者功能。

4.推荐使用 继承ActionSupport类 的方法。

5.页面路径一律配置绝对路径,
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri = "/struts-tags" prefix = "struts"%>

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


之后在 JSP的 head标签中添加
  <head>
    [color=red]<base href="<%=basePath%>">[/color]
    <title>My JSP 'initAddBook.jsp' starting page</title>
  </head>
这样配置出来的就是页面的绝对路径,否则Struts中会找不到对应的页面。

    <a href = "<struts:url action = "initAddBook" />">添加书籍</a>   
   <a href = "<struts:url action = "listBook" />">书籍列表</a>   
   <a href = "<struts:url action = "clearBook" />">清空书籍列表</a>


6.任何配置进action的方法,只要返回值是个String就都可以使用。

默认可以使用的几个变量的返回值:SUCCESS   ERROR等,是因为ActionSupport类中已经定义了这些常量,所以我们的类继承它之后,也可以使用这些常量(这些常量已经在源码中定义为了 String)。

你可能感兴趣的:(struts2)