WEB开发网
开发学院软件开发Java 使用SpringSide 3.1.4.3开发Web项目的全过程(中)... 阅读

使用SpringSide 3.1.4.3开发Web项目的全过程(中)

 2009-09-24 00:00:00 来源:WEB开发网   
核心提示: 这里需要特别关注的是delete方法返回的值,为RELOAD,使用SpringSide 3.1.4.3开发Web项目的全过程(中)(5),这是一个在基类中定义好了的字符串,返回该字符串的目的,至于第九步,当然是把项目从单数据库环境更改到多数据库环境了,是为了在delete 方法执行完之后,不返回

这里需要特别关注的是delete方法返回的值,为RELOAD,这是一个在基类中定义好了的字符串。返回该字符串的目的,是为了在delete 方法执行完之后,不返回任何视图页面,而是以redirect的方式再次调用article.action,以便显示删除文章后的结果。因此,需要在 ArticleAction中使用@Result注解,如下:

@Results( { @Result(name = CrudActionSupport.RELOAD, location = "article.action", type = "redirect") })

经过如上修改,这时候再运行应用,就发现能够删除文章了。

再来实现添加文章的功能,从上面的article.jsp中可以看出,添加文章的链接为article!input.action,此时,会运行 ArticleAction的input方法,该方法只是简单返回article-input.jsp视图文件作为用户输入文章的接口,article- input.jsp的代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form id="inputForm" action="article!save.action" method="post">
<table class="inputView">
    <tr>
        <td>主题:</td>
        <td><input type="text" name="subject" size="40" id="subject" /></td>
    </tr>
    <tr>
        <td>内容:</td>
        <td><textarea name="content" id="subject"></textarea></td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="提交" />  
            <input type="button" value="取消" />
        </td>
    </tr>
</table>
</form>
</body>
</html>

而ArticleAction中只需要修改如下几行,由于ModelDriven拦截器已经把网页中传入的数据注入到了article对象中,所以save方法中只需要执行简单的保存操作即可:

    @Override
    public String input() throws Exception {
        return INPUT;
    }
    
    @Override
    public String save() throws Exception {
        articleManager.save(article);
        return RELOAD;
    }

至于实现文章的修改功能,那也是通过input方法和save方法实现的,只不过此时网页参数中会包含一个有效的id,而prepare系列的方法会根据该id先从数据库中提取数据,然后显示在article-input.jsp中,用户修改后,再调用save方法保存到数据库中。为减少本博文长度,该功能此处不做示范。

通过上面的步骤可以发现,使用SpringSide 3中推荐的CRUD一体的模式,可以有效减少Action的数量和JSP文件的数量,每实现一个增删查改功能,只需要一个Action和两个JSP,但是,程序员一定要对其中的数据流向有充足的认识,才能理清它们之间的关系,不至于晕头转向。

到这里大家会发现,ArticleAction谁都可以访问,一点都不安全,所以第八步我会探讨如何让ArticleAction和SpringSecurity一起工作,至于第九步,当然是把项目从单数据库环境更改到多数据库环境了。具体内容,且看下回分解!

上一页  1 2 3 4 5 

Tags:使用 SpringSide 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接