使用UUID的优缺点和一个页面能否使用多个表单和表单之间是否可以嵌套

来源:互联网 发布:cs1.5和1.6知乎 编辑:程序博客网 时间:2024/06/06 12:29

UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
优点:
能够保证独立性,程序可以在不同的数据库间迁移,效果不受影响。
保证生成的ID不仅是表独立的,而且是库独立的,这点在你想切分数据库的时候尤为重要。
用在分布式中。
缺点:
比较占地方,和INT类型相比,存储一个UUID要花费更多的空间。
使用UUID后,URL显得冗长,不够友好。

举一个小用例:在cms系统开发文章模块的时候,我一个页面有2个表单。

<form class="avatar-form" action="uploadImage" enctype="multipart/form-data" method="post" accept="image/*">                <div class="modal-header">                  <button type="button" class="close" data-dismiss="modal">&times;</button>                  <h4 class="modal-title" id="avatar-modal-label">更改文章封面</h4>                </div>                                <div class="avatar-upload">                      <input type="hidden" class="avatar-src" name="avatar_src">                      <input type="hidden" class="avatar-data" name="avatar_data">                      <label for="avatarInput" class="btn btn-primary" style="width:100px;">选择图片</label>                      <input type="file" class="avatar-input" id="avatarInput" name="avatar_file" style="display: none;" accept="image/*">                    </div>                              </div>                  <div class="col-md-2">                    <button type="submit" class="btn btn-primary btn-block avatar-save">提交</button>                  </div>                </div>              </div>            </div>           .......          </form>    <sf:form method="post" modelAttribute="articleVo" class="form form-horizontal" id="form-article-add">        <div class="row cl">            <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>文章标题:</label>            <div class="formControls col-xs-8 col-sm-9">                    <sf:input path="title" class="input-text" placeholder="请输入文章标题"/>            </div>        </div>        ......</sf:form>

可能出现一种情况,就是在附件管理和图片管理的时候,比如我先上传图片或者某一个附件给某篇我还没有建立的文章。这个时候,我就不知道文章的唯一标识id。我也不好传递一个图片或者附件id给文章,因为同处于一个页面,这个时候使用UUID,效果最好,我在图片或者附件管理 的serveice层编写一个生成UUID的方法,当我上传图片或者附件的时候,就会自动生成一个UUID,这个时候我把这个UUID用隐藏域传递给另一个添加文章表单。如上代码所示,这样就可以更好的控制整个cms的逻辑。也可以更好的操作文章。

一个页面可以存在多个表单,但是表单之间不能嵌套,嵌套的话,当你传参时,就会出错。

0 0
原创粉丝点击