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>
-------------------------------------------------------------------------------------------
色でどことどこがつながるのかを書いてみたけど…わかりにくいですね(笑)