news_flash新闻快讯项目 Chapter 2

来源:互联网 发布:数据恢复精灵无法勾选 编辑:程序博客网 时间:2024/04/28 03:32

在上一章中做了新闻的最基本的CRUD以及环境的基本搭建和配置,本章我们集成页面以及添加高级查询和分页、以及图片上传等基本的技术来继续进行该项目。

1 页面整合


1)拷贝静态资源
2)修改样式、图片等的路径
3)首先我们观察index.html文件,发现它使用了frameset框架集,大家可以看看下面的主要内容,分析跳转的过程:

这里写图片描述
system表示struts.xml中的包名称;main_top就是action的名称,因此我们需要一个action来处理这个main.html文件。
因此我们创建MainAction类,然后在application中实例化;

/** * 处理主页面跳转以及业务逻辑的实现 */public class MainAction extends ActionSupport {    /**     * 跳转到index.html     * @return     * @throws Exception     */    @Override    public String execute() throws Exception {        return SUCCESS;    }    //跳转到top.html    public String top(){        return "top";    }    //跳转到menu.html    public String menu(){        return "menu";    }    //跳转到main.html    public String main(){        return "main";    }}

可以看到,方法名和返回值的名称是相同的,这是为了便利struts.xml中的书写。
4) 首先是登陆,登陆提交表单后,跳转到userAction,这个action来处理登陆信息。
之后跳转到mainAction,加载页面,包括菜单,主页面,以及顶部,从index.html可以看出。我们在struts.xml中配置相应的视图名称即可。

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"        "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.devMode" value="true"></constant>    <!-- 不需要权限拦截器拦截的Action -->    <package name="default"  namespace="/" extends="struts-default">        <!-- 如果userAction要做登录功能,要放在这个包里,不能被权限拦截器拦截  -->        <action name="user_*" class="userAction" method="{1}">            <result type="redirectAction">                <param name="namespace">/system</param>                <param name="actionName">main</param>            </result>        </action>    </package>    <!-- 需要权限拦截器拦截的Action -->    <package name="system" namespace="/system" extends="struts-default">        <!-- 如果Action交给spring创建,那这里class不用写全限定名,它跟applcationContext.xml里对应的bean的id保持一致 -->        <action name="main_*" class="mainAction" method="{1}">            <result>                /WEB-INF/views/index.html            </result>            <result name="{1}">                /WEB-INF/views/{1}.html            </result>        </action>    </package></struts>

我们再配置userAction,并且也完成实例化,处理登陆,这里只是作为跳转,具体登陆功能接下来完成
接下来完成测试,发现跳转正确。下面是userAction,以及实例化配置

public class UserAction extends ActionSupport{    @Override    public String execute() throws Exception {        return SUCCESS;    }}
 <!--mainAction实例-->    <bean id="mainAction" class="cn.czg.core.web.action.MainAction">    </bean>    <!--userAction-->    <bean id="userAction" class="cn.czg.core.web.action.UserAction">    </bean>
原创粉丝点击