news_flash新闻快讯项目 Chapter 2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GoSaint/article/details/78169263

在上一章中做了新闻的最基本的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>
阅读更多

没有更多推荐了,返回首页