深入实践Spring Boot3.4.4 修改视图设计

3.4.4 修改视图设计

1.?修改对话框设计

在电影的主页中修改一部电影,首先打开一个修改电影的对话框,这个对话框的设计如代码清单3-22所示。其中通过“$.get”访问“./edit/{id}”取得数据和修改视图的HTML页面元素。

代码清单3-22 修改电影对话框js编码

function
edit(id){

    $.get("./edit/"+id,{ts:new
Date().getTime()},function(data){

        art.dialog({

            lock:true,

            opacity:0.3,

            title: "修改",

            width:'750px',

            height: 'auto',

            left: '50%', 

            top: '50%',

            content:data,

            esc: true,

            init: function(){

                artdialog = this;

            },

            close: function(){

                artdialog = null;

            }

        });

    });

}

2.?修改页面设计

修改电影视图的页面设计如代码清单3-23所示,其中剧照的下拉列表框中增加了“选中”的代码:th:selected="${movie.photo == f?ile}",即如果电影中的剧照与下拉框列表中的剧照相同,则选中它。

在修改界面上,还增加了“增加角色”和“选择演员”的编辑项。为了简化设计这里的角色名称我们也使用了预先定义的数据。

代码清单3-23 修改电影页面HTML编码

<link
th:href="@{/styles/imageselect.css}" rel="stylesheet"
type="text/css" />

<script
th:src="@{/scripts/imageselect.js}"></script>

<script
th:src="@{/scripts/movie/edit.js}"></script>

 

<form
id="saveForm" method="post">

    <input type="hidden"
name="id" id="id" th:value="${movie.id}"/>

<div
class="addInfBtn" >

    <h3
class="itemTit"><span>编辑信息</span></h3>

    <table
class="addNewInfList">

        <tr>

            <th>电影名称</th>

            <td
width="240"><input class="inp-list w-200 clear-mr
f-left" type=

"text"
th:value="${movie.name}" id="name" name="name"
maxlength="16" /></td>

            <th>电影剧照</th>

            <td width="240">

                <select
name="photo" id="photo">

                    <option
th:each="file:${files}"

                           
th:value="${file}"

                           
th:text="${file}"

                           
th:selected="${movie.photo == file}">

                    </option>

                </select>

            </td>

        </tr>

 

        <tr>

            <th>出版日期</th>

            <td>

                <input 
onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"

type="text"
class="inp-list w-200 clear-mr f-left"
th:value="${movie.createDate} ?
${#dates.format(movie.createDate,'yyyy-MM-dd HH:mm:ss')} :''"
id="createDate" name="createDate"/>

            </td>

 

        </tr>

        <tr>

            <th>增加角色</th>

            <td width="240">

                <select
name="rolename" id="rolename">

                    <option
value="">增加角色</option>

                    <option
th:each="role:${rolelist}"

                           
th:value="${role}"

                           
th:text="${role}">

                    </option>

                </select>

            </td>

            <th>选择演员</th>

            <td width="240">

                <select
name="actorid" id="actorid">

                    <option
value="">选择演员</option>

                    <option
th:each="actor:${actors}"

                           
th:value="${actor.id}"

                           
th:text="${actor.name}">

                    </option>

                </select>

            </td>

        </tr>

    </table>

 

    <div class="bottomBtnBox">

        <a class="btn-93X38
saveBtn" href="javascript:void(0)">确定</a>

        <a class="btn-93X38
backBtn" href="javascript:closeDialog(0)">返回</a>

    </div>

</div>

 

</form>

<script
type="text/javascript">

    $(document).ready(function(){

       
$('select[name=photo]').ImageSelect({dropdownWidth:425});

    });

</script>

3.?修改视图的设计效果

最终完成的修改电影视图的显示效果如图3-5所示。

 

图3-5 修改电影视图设计效果图

时间: 2024-12-31 17:19:01

深入实践Spring Boot3.4.4 修改视图设计的相关文章

深入实践Spring Boot3.4.1 列表视图设计

3.4.1 列表视图设计 电影的列表视图是电影视图的主页,它引用了3.3节使用Thymeleaf设计的页面框架模板layout.html,在这里主要实现对数据的分页查询请求和列表数据显示,并提供了一部电影的新建.查看.修改和删除等超链接. 1.?分页设计 电影的列表视图的分页设计使用了"jquery.pagination.js"分页插件,编写如代码清单3-15所示的脚本,其中getOpt定义了分页工具条的一些基本属性,pageaction通过"./list"调用控制

深入实践Spring Boot3.4 视图设计

3.4 视图设计 视图设计包括列表视图.新建视图.查看视图.修改视图和删除视图设计等5个方面有关数据的增删查改的内容. 我们知道,视图上的数据存取不是直接与模型打交道,而是通过控制器来处理.在视图中对于控制器的请求,大多使用jQuery的方式来实现.jQuery是一个优秀的JavaScript程序库,并且具有很好的兼容性,几乎兼容了现有的所有浏览器. 下面的视图设计将以电影的视图设计为例说明,演员的视图设计与此类似,不再赘述.

深入实践Spring Boot3.4.2 新建视图设计

3.4.2 新建视图设计 1.?新建对话框设计 新建电影时,在电影主页中打开一个对话框显示新建的操作界面,对话框设计引用了"artDialog.js"的对话框插件,然后编写一个脚本来打开对话框,如代码清单3-17所示.其中"./new"是连接控制器的请求URL,注意这里使用了相对路径,这个URL通过"$.get"请求返回新建电影的HTML页面,请求链接中的ts参数传递的是当前时间,这是为了保证该链接是一个全新的链接,以使浏览器能显示一个最新的内容

深入实践Spring Boot3.4.3 查看视图设计

3.4.3 查看视图设计 1.?查看对话框设计 在电影的主页中单击一部电影的查看链接,将打开一个查看电影的对话框,对话框的设计如代码清单3-20所示,其中"./{id}"是提取数据的链接,它将向控制器请求数据,并以HTML页面方式显示出来. 代码清单3-20 查看电影对话框js编码 function detail(id){     $.get("./"+id,{ts:new Date().getTime()},function(data){         art.

深入实践Spring Boot3.4.5 删除视图设计

3.4.5 删除视图设计 1.?删除确认对话框 如果有删除的操作,首先要给出确认提示框,只有用户单击确定后才能删除数据,否则将不做任何操作.确认提示框是调用了Windows中的确认对话框,如代码清单3-24所示. 代码清单3-24 删除确认对话框js编码 function del(id){     if(!confirm("您确定删除此记录吗?")){         return false;     }     $.get("./delete/"+id,{ts:

深入实践Spring Boot3.3 使用Thymeleaf模板

3.3 使用Thymeleaf模板 完成了模型和控制器的设计之后,接下来的工作就是视图设计了.在视图设计中主要使用Thymeleaf模板来实现.在进行视图设计之前,先了解一下Thymeleaf模板的功能. Thymeleaf是一个优秀的面向Java的XML/XHTML/HTML 5页面模板,并具有丰富的标签语言和函数.使用Spring Boot框架进行界面设计,一般都会选择Thymeleaf模板.

深入实践Spring Boot3.3.2 Thymeleaf功能简介

3.3.2 Thymeleaf功能简介 在HTML页面上使用Thymeleaf标签语言,用一个简单的关键字"th"来标注.使用Thymeleaf标签语言的典型例子如下: <h3 th:text="${actor.name}"></h3> <img th:src="@{/images/logo.png}"/> 其中,th:text指定了在标签<h3>中显示的文本,它的值来自于关键字"$&qu

深入实践Spring Boot3.2.3 修改控制器

3.2.3 修改控制器 若要实现对电影的修改及保存操作,需要先将电影的数据展示在视图界面上,然后接收界面的操作,调用数据管理模块将更改的数据保存至数据库中,如代码清单3-6所示.其中,为了简化设计,将剧照中的图片文件和电影角色名称做了预定义处理.修改数据时,由于从界面传回的电影对象中,丢失了其角色关系的数据(这是OGM的缺点),所以再次查询一次数据库,以取得一个电影的完整数据,然后再执行修改的操作. 代码清单3-6 修改电影控制器 @RequestMapping(value="/edit/{id

深入实践Spring Boot3.2.1 新建控制器

3.2.1 新建控制器 接收新建电影的请求,以及输入一部电影的数据后的最后提交,由新建控制器进行处理.在控制器上将执行两个操作,第一个操作将返回一个新建电影的视图,第二个操作接收界面中的输入数据,并调用数据管理模块进行保存,如代码清单3-4所示.其中,create函数将返回一个新建电影的视图,它不调用数据管理模块,save函数将需要保存的数据通过调用数据管理模块存储至数据库中,并返回一个成功标志.注意,为了简化设计,将电影剧照的图片文件做了预定义处理. 代码清单3-4 新建电影控制器 @Requ