zoukankan      html  css  js  c++  java
  • 新闻快讯_2

    在上一章中做了新闻的最基本的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>
  • 相关阅读:
    高精度模板 支持各种运算 c++
    404 页面不存在
    多柱汉诺塔问题“通解”——c++
    高精度gcd
    404 页面不存在
    如何开启音乐二倍速?不下载其他软件【win10】
    如何随时学习数学
    洛谷P1004 方格取数
    Title
    Title
  • 原文地址:https://www.cnblogs.com/gosaint/p/8242998.html
Copyright © 2011-2022 走看看