在Spring MVC中保留本地数据结构中的值

时间:2013-07-18 11:21:18

标签: spring jsp spring-mvc jstl

专家

我的要求是持久存储/存储用户针对该字段进行编辑的值,并且下次用户为该特定字段打开同一页面时,编辑后的值应该保留。

目前,我的页面显示注册用户总数不符合字段总注册数。 最初,totalcount数据来自数据库,而不是Total Registration 我显示以下图像以显示最初的数据 enter image description here 现在,当用户想要编辑注册的总数时,用户可以单击铅笔图像并编辑总注册号。 现在点击软盘图像,编辑后的计数应该在本地保存在数据结构中,下次用户再次访问该页面时 enter image description here 用户应该看到最后编辑/更新的值。 我的代码库如下 的 1> DIV显示总注册值是

<div class="row-fluid">
        <div class ="span2">

        <label><spring:message code="registration.total"></spring:message>:&nbsp; </label>
        </div>
        <div class = "span3">
        <div class="input-mini">    
            <div class="textVal ">
             <div class = "span3">${regStatusForm.total} </div> 
             </div>
            <div id="pencil" class="span3">
            <img src="/static/img/pencil.png" alt="Edit" >
             </div>
            <div id="save" class="span3">
            <img src="/static/img/save.png" alt="Save" >
            </div>
            <div id="close" class="span3">
            <img src="/static/img/close.png" alt="Close" >
            </div>
        </div>  
        </div>

2 - ;使其可编辑的JQuery代码是

  var textValue = "";
    $('#pencil').on('click', function(){
        textValue =  $('.textVal').text();
        $('.textVal').html("<input type='textbox' id='textVal' value='" + textValue + "' />");
        $(this).hide();
        $('#save, #close').show();
    });

$('#save').on('click', function(){
    $('.textVal').text($('#textVal').val());
    $(this).hide();
    $('#close').hide();
    $('#pencil').show();
});

$('#close').on('click', function(){
    $('.textVal').text(textValue);
    $(this).hide();
    $('#save').hide();
    $('#pencil').show();
}); 

第3&GT; CSS代码

<style type="text/css">
.textbox {
    height:24px;
    width:90px;
    line-height:22px;
    padding:3px

}
#textVal {
    width:35px;
    margin-right:5px
}
.icons {
    float:left;
    width:20px;
    height:20px;
}
#save, #close {
    display:none;
    width:20px;
    height:20px;
    float:left
}
.textVal {
    float:left;
    width:35px;
    height:20px;
    margin-right:5px
}
#pencil {
    display:block
}
</style>

请建议一种合适的方法来实现这一目标。

1 个答案:

答案 0 :(得分:1)

你基本上有两种选择。在提交表单后将其存储在服务器中,或在用户输入一些文本并离开该字段后将其存储在客户端上。

在第一种情况下,您可以创建一个存储输入ID和值的表,并在渲染后填充字段。我可以想象有一个很好的机会用servletfilter来修改响应。

使用jquery和localstorage可以更简单地实现第二个。这只有在数据只能在一个浏览器中存在而且如果使用另一台机器时才能从头开始。 我更容易说,因为在页面加载时,您在所有输入上运行jquery并使用localstorage中的值填充它们。