MoChiwakiブログ

女性エンジニアがゆる~く書く備忘録ブログ 〜だいたいいつもつまづいている〜

Struts どことどこがつながるの?

ログイン画面を通過し、次はそのユーザの情報をアップデートしたい!

そのためには今まで持ってた情報を出したいじゃないですか、

 情報 

 同じFormを使っていたら自動で入れてくれるらしいです!

こんな感じに。

◆◆user_list.jsp  //ここで詳細ボタンを押すと画面上ではアップデート画面にいきます◆◆
<logic:iterate id="dto" name="userDto">
<tr>
<html:form action="/user_detail" focus="searchText">
 <td><bean:write name="dto" property="userId"/></td>
 <td><bean:write name="dto" property="name"/></td>
 <td><bean:write name="dto" property="entoryDay"/></td>
 <html:hidden property="userId" name="dto"/>        //hiddenがないとIDなど渡せません
 <html:hidden property="password" name="dto"/>
 <td><button type="submit" > 詳細</button></td>
</html:form>
</tr>
</logic:iterate>

-------------------------------------------------------------------------------------------
◆◆struts-config.xml  //Strutsの設定画面(一部)◆◆
<action
path="/user_detail"
type="net.kronosjp.action.UserDetailAction"
            name="userDetailForm"
            scope="request">
<forward name="userDetail" path="/user_detail.jsp" />
</action>

<action
path="/user_update"
type="net.kronosjp.action.UserUpdateAction"
            name="userDetailForm"
            scope="request">
<forward name="userList" path="/user_list.jsp" />
</action>


-------------------------------------------------------------------------------------------
◆◆UserDetailAction.java◆◆
public class UserDetailAction extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
  UserDetailForm userDetail = (UserDetailForm) form;
  UserDao userDao = new UserDao();

 //userDtoをのデータを持ってくるメソッド
  UserDto userDto = userDao.findByUserIdAndPassword(userDetail.getUserId(),      userDetail.getPassword());

  userDetail.setName(userDto.getName());
  return mapping.findForward("userDetail");
}
-------------------------------------------------------------------------------------------
◆◆user_detail.jsp◆◆
<html:form action="/user_update" focus="userId">
<table>
<tr><td>ユーザID</td><td><html:text property="userId" size="20" styleClass="form-control"/></td></tr>
<tr><td>氏名</td><td><html:text property="name" size="20" styleClass="form-control" /></td></tr>
<tr><td>パスワード</td><td><html:text property="password" size="20" styleClass="form-control" /></td></tr>
<tr><td>パスワード<br>(確認用)</td><td><html:text property="password" size="20" styleClass="form-control" /></td></tr>
</table>
<hr>
<input type="button" value="戻る" onClick="location.href='user_list.jsp'">
<button type="submit">保存</button>

-------------------------------------------------------------------------------------------

 

色でどことどこがつながるのかを書いてみたけど…わかりにくいですね(笑)