3

こんにちは、私は春が初めてで、ユーザーの姓名を受け入れ、休止状態を使用してデータベースに保存する単純なポートレットを開発しようとしています。

基本的に、jsps とコントローラーの通信方法がわかりません。ここにいくつかのチャンクがありません。

これは、呼び出す必要がある最初のコントローラーです (どこで言及すればよいでしょうか?)

    package codes.controller;

    import javax.portlet.RenderResponse;

    import codes.base.User;
    import codes.service.UserService;

    @Controller(value="SimpleUserController")
    @RequestMapping(value = "VIEW")
    public class SimpleUserController {

    // -- auto-wiring of service dependency
    @Autowired
    @Qualifier("userService")
    private UserService userService;

    // --maps the incoming portlet request to this method
    @RenderMapping
    public String showUsers(RenderResponse response) {
        return "home";
    }

    @ExceptionHandler({ Exception.class })
    public String handleException() {
        return "errorPage";
    }

    // -- @ModelAttribute here works as the referenceData method
    @ModelAttribute(value="user")
    public User getCommandObject() {
        return new User();
    }
}

最初に、2 つの入力ボックスと送信ボタンを含むフォームを表示する home.jsp を表示しています。

<%@include file="include.jsp" %> 

<portlet:actionURL var="addUserActionUrl">
    <portlet:param name="myaction" value="addUser" />
</portlet:actionURL>

<form:form name="home" commandName="user" method="post"
    action="${addUserActionUrl}">

    <table>
        <tr>
            <td>First Name:<font style="color: #C11B17;">*</font></td>
            <td><form:input path="firstname" /></td>
        </tr>
        <tr>
            <td>Last Name:<font style="color: #C11B17;">*</font></td>
            <td><form:input path="lastname" /></td>
        </tr>

        <table align="right">
        <tr>
            <td>&nbsp;</td>
            <td><input type="submit" value="SUBMIT" /></td>
        </tr>
        </table>
    </table>

</form:form>

この JSP は、AddUserController.java でアクション メソッドを呼び出す必要があります。

package codes.controller;

import javax.portlet.ActionResponse;
import javax.portlet.RenderResponse;

import codes.base.User;
import codes.service.UserService;  

@Controller(value = "AddUserController")
@RequestMapping(value = "VIEW")
public class AddUserController {

  @Autowired
  @Qualifier("userService")
  private UserService userService;

  @RenderMapping(params = "myaction=addUser")
  public String showRegisterPage(Model model) {
    model.addAttribute("user", new User());
    model.addAttribute("users", getUsers());
    return "addUser";
  }

  public List<User> getUsers() {
    return userService.getAllUsers();
  }

  @ActionMapping(params = "myaction=addUser")
  public void addBook(@ModelAttribute(value = "user") User user,
        BindingResult bindingResult, ActionResponse response,
        SessionStatus sessionStatus) {
    if (!bindingResult.hasErrors()) {
        userService.addUser(user);
        response.setRenderParameter("myaction", "users");
        sessionStatus.setComplete();
    } else {
        response.setRenderParameter("myaction", "addUser");
    }
  }
}

今回は、この名と姓をデータベースに保存し、画面を更新して、データベース内の現在のユーザーの名前と別の名と姓のフォーム フィールドを含むドロップダウンを持つ新しいフォームを表示する必要があります。ドロップダウンからユーザー名を選択すると、フォーム フィールドに値が入力され、これらの値を編集し、[更新] ボタンをクリックして値を DB に保存できます。それ以外の場合は、送信ボタンを使用してデータベースに新しいユーザーを追加できます。

addUser.jsp:

<%@include file="include.jsp" %> 

<portlet:actionURL var="addUserActionUrl">
<portlet:param name="myaction" value="addUser" />
</portlet:actionURL>
<portlet:renderURL var="homeUrl">
<portlet:param name="myaction" value="Users" />
</portlet:renderURL>
<script type="text/javascript" src="js/userRelated.js"></script>

<form:form name="addUser" commandName="user" method="post"
action="${addUserActionUrl}">
<form:select path="model">
<form:option value="NONE" label="--- Select ---" id="userList" onchange="showHide()"/>
<form:options items="${users}" />
</form:select>

<table>
    <tr>
        <td>First Name:<font style="color: #C11B17;">*</font></td>
        <td><form:input path="firstname" /></td>

    </tr>
    <tr>
        <td>Last Name:<font style="color: #C11B17;">*</font></td>
        <td><form:input path="lastname" /></td>

    </tr>

    <table align="right">
    <tr>
        <td>&nbsp;</td>
        <td><input type="submit" id="submit" value="SUBMIT" />SUBMIT</td>
    </tr>
        <tr>
        <td>&nbsp;</td>
        <td><input type="submit" id="update"  value="SUBMIT" />UPDATE</td>
    </tr>
    </table>        
</table>

</form:form>

ドロップダウンの onchange を使用して、送信/更新ボタンを隠したり隠したりしています。使用可能なボタンに応じて、addUsercontroller でさまざまな関数を呼び出すにはどうすればよいですか?

4

1 に答える 1

0

form要素のaction属性をjavascriptで更新することで

于 2013-06-18T14:36:19.453 に答える