0

習慣的に、新しいオブジェクトを作成するためのダイアログ ウィンドウを表示するには、それを定義して JSP で直接呼び出します。したがって、Spring form タグのモデル属性をフィードするのに問題はありません。

今、私はオブジェクトを編集する方法を探しています。jsp でフルモーダルを直接作成できません。jdialog の一部を作成し、他の部分を動的に追加する方法が必要です。春とjqueryで可能ですか?

私の試み

$('#updateUser').dialog({
autoOpen: false,
height: 660,
    width: 715,
    modal: true,
    buttons: {
  "Save": function() {

  },
  Cancel: function() {
    $(this).dialog("close");
      }
    },
    close: function() {
    }
    });

$("#updateUserButton]").click(function() {

        var userName = $(this).closest('tr').data('userName');

        $.ajax({
            type: "GET",
            url: "/secure/admin/ajaxEditingUser",
            data: {userame: userName}


        }).done(function(data) {
            alert(data);
        });

        $('#updateUser').dialog("open");
    });

<div id="updateUser" title="Update user" style="display:none">
    <div id="ajaxUserBloc"></div>
</div>

私のJavaコントローラー

@RequestMapping(method = RequestMethod.GET, value = "/secure/admin/ajaxEditingUser")
public String showAjaxEditingUser(Model model, @RequestParam("username") String userName){

    UserBean userBean = userBeanMap.get(userName);
    model.addAttribute("editingUser", userBean);

    return "ajaxEditingUserForm";
}

次の名前のjspがあります:ajaxEditingUserForm

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

<form:form id="userModelForm" modelAttribute="editingUser">
...
</form:form>

コントローラーが正しく呼び出されました。デバッグ モードで確認しました。done メソッドでは、データは空です... 私は、editingUser Bean によってフィードされた ajaxEditingUserForm のコンテンツを取得すると考えていました

jspページへの転送が行われていないような...

$("#ajaxUpdateUserBloc").load("${ajaxEditingUserForm}" + "?username="+userName); を試しました

同じ問題

この例でわかるように動作するはずです: Spring MVC で AJAX を使用してビューをレンダリングする方法

より深くデバッグすると、次のようになります。

名前が「UserServlet」のサーブレットで名前が「ajaxEditingUserForm」のビューを解決できませんでした

<servlet>
     <servlet-name>UserServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
         <param-name>contextConfigLocation</param-name>
         <param-value>classpath:spring/web-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
     <servlet-name>UserServlet</servlet-name>
     <url-pattern>/</url-pattern>
</servlet-mapping>
4

0 に答える 0