java - 如何使用struts2通过ajax进行编辑

标签 java jquery ajax jsp struts2

我想按照以下逻辑编辑数据库中的某些元素: 我从下拉列表中选择了一个项目(自动完成),其他字段是根据已选择的字段直接从数据库填充的,以便我可以编辑数据。

如何在JSP页面中使用Ajax来做这样的处理?

$(document).ready(function() {
  $('#datepicker').datepicker();

  $('#field1').change(function()
          {

//code ajax wich select the row from database and return the values on the same form


      }
  );


});

JSP代码:

<s:form  cssStyle="border:0;" validate="true" action="add" namespace="/" >
<sx:autocompleter id="field1"  label="field1" list="liste1" name="liste"></sx:autocompleter>
<s:textfield name="field2" label="field2" size="15" ></s:textfield>
<s:select style="height:30px; width:125px" name="field3" label="field3"  headerValue="Select" list="liste2"></s:select>
<s:submit style="height:30px; width:125px" name="Valider" value="Valider"></s:submit>
</s:form>

请问有什么帮助吗?

编辑:

我想传递自动完成字段中选定的值

$(document).ready(function() 
    {
      $('#field1').change(function()
        {

          var selectedValue = $('#field1 option:selected').val();
            if ($.trim(selectedValue).length > 0) 
             {

                $.ajax(
                {
                    type: 'POST', 
                    url: 'action/action1',
                    data: { field1 : selectedValue},
                    dataType: 'json',
                    async: false ,
                    contentType: 'application/json; charset=utf-8',
                    success: function(){window.alert(selectedValue);}

                 });

            }

        }
      );


    });

编辑2:

行动:

public String query()
{
    if( !field1.equals("") || field1 != null)
    {
        Service = new ServiceImpl();
        v = new Vehicule();
        v= Service.getVehiculeByImmat(field1);
        map.put(field2.toString(), v.getfield2().toString());
        map.put(date.toString(), v.getdate().toString());

    }
                return "success";

}

struts.xml:

<action name="query" class="action.GestionVehicules" method="query">
          <result name="success" type="json">map</result>
    </action>

ajax:

$(document).ready(function() 
    {
      $('#field1').change(function()
        {

          var selectedValue = $('#field1').val();
            if ($.trim(selectedValue).length > 0) 
             {

                $.ajax(
                {
                    type: 'POST', 
                    url: '<s:url action="query"/>',
                    data: { field1: selectedValue},
                    dataType: 'json',
                    success: function(){alert(data);}

                 });

            }


        }
      );


    });    

这是真的吗?

编辑 3:

javascript:

$(document).ready(function() 
    {
      $('#field1').change(function()
        {


          var selectedValue = $('#field1').val();
            if ($.trim(selectedValue).length > 0) 
             {
          alert(selectedValue);
                $.ajax(
                {
                    type: 'POST', 
                    url  : "<s:url action='query'/>",
                    dataType : 'json',
                    data: { field1: selectedValue},
                    success: function(result){
                    // alert(result);
                     if (result.length > 0) {
                            //code to put hashmap values into textfield

                                //put map.get("key1") into textfield1 ....

                            });
                        }

                },

                 });

            }

        }
      );


    });

编辑4:

JavaScript:

  $.each(result, function(key,value)
        {                               $("#"+key).val(value); // how can it works with dropdown list ??
    } );

最佳答案

要传递所选值(如果已选择),请使用简单的 ajax 请求

$.ajax(
{
    type: 'POST', 
    url: '<s:url action="action1"/>',
    data: { field1 : selectedValue},
    //async: false ,
    success: function(data){
      alert(data);
    }
 });

在操作类中创建一个名为 field1 的字段,其中包含 getter 和 setter。然后您可以选择返回结果类型。如果使用 json 结果,则该字段将被序列化并添加到您在成功处理程序的数据中获取的 json 对象。

关于java - 如何使用struts2通过ajax进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22477899/

相关文章:

java - 如何检查字符串是否有连续的空格

java - 为什么这个 HashSet 代码片段会这样?

javascript - JQuery Flot x 轴上的非本地化时间

php - Laravel 5 Ajax 文件/图片上传

javascript - PHP - 获取 jQuery 生成的 div 内容

javascript - 如何将数据从ajax传递到django View ?

二进制文件中的 Java 对象流

Java 递归方法是如何工作的?

javascript - Sharepoint REST 创建讨论回复

javascript - 如何在 MVC 中使用 Ajax 提交表单