私はできる限り明確に問題を説明するためにコードを要点に凝縮しました。ロジック:期待通りに動作していない
私はフォーマットがうまくいくことを願っています - これは私の最初の投稿であり、私が何をしたとしても4スペースをインデントしたり、Ctrl-Kを使用したりしています。
私のaddAssignment.jspは、LinkedListを空にしなければならない場合、 "Messages"というヘッダーを表示しています。 LinkedListにメッセージがない場合、header:Messagesの印刷を排除するためにlogic:presentタグが必要です。 LinkedListにメッセージがない場合、ヘッダー "Messages"が印刷されないようにするにはどうすればよいですか?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Add Assignment Page</title>
<style type="text/css">table { margin-left:5%; }</style>
</head>
<body>
<table>
<tr>
<td>
<logic:present name="messages">
<h3>Messages:</h3>
<logic:iterate id="msg" name="messages">
<bean:write name="msg" /><br />
</logic:iterate>
</logic:present>
</td>
</tr>
</table>
<table>
<tr>
<td>
<H1> Add Assignment</H1>
</td>
</tr>
</table>
<html:form action="addAssignmentAction" focus="injuredWorkersFirstName">
<table>
<tr>
<td>First name</td>
<td>
<html:text property="injuredWorkersFirstName" />
</td>
</tr>
<tr>
<td class="100PixCentered"> </td>
<td>
<html:submit>submit</html:submit>
</td>
</tr>
</table>
</html:form>
</body>
</html>
LoginActionファイルは、LinkedListの使用方法を示しています。また、LoginActionはLogin.jspページ、LinkedListタグ、Logicタグ、Beanタグで正しく機能します。つまり、エラー・メッセージがLinkedListに存在した場合、Login.jspページはヘッダー・メッセージの下にそれらを確実に示しました。
public class LoginAction extends Action {
public void execute(Object data) { }
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
LinkedList messages = new LinkedList();
String returnValue = "success";
if ((((LoginForm) form).getName() == null)
|| ((((LoginForm) form).getName()).length() == 0)) {
messages.add("bad name");
returnValue = "error";
}
if ((((LoginForm) form).getPassword() == null)
|| ((((LoginForm) form).getPassword()).length() == 0)) {
messages.add("bad password");
returnValue = "error";
}
request.setAttribute("messages", messages);
return mapping.findForward(returnValue);
}
}
Strutsの設定:
<struts-config>
<data-sources></data-sources>
<!-- ========== Form Bean Definitions =================================== -->
<form-beans>
<form-bean name="loginForm" type="package1.LoginForm" />
<form-bean name="AddAssignmentForm" type="package1.AddAssignmentForm" />
</form-beans>
<!-- ========== Action Mapping Definitions ============================== -->
<!-- Action Mappings Configuration -->
<action-mappings>
<action path="/login" type="package1.LoginAction" name="loginForm"
scope="request" validate="false" input="/index.jsp">
<forward name="success" path="/addAssignment.jsp"></forward>
<forward name="error" path="/index.jsp"></forward>
</action>
<action path="/addAssignmentAction" type="assignment.AddAssignmentAction"
name="AddAssignmentForm" scope="request" validate="false"
input="/addAssignment.jsp">
<forward name="success" path="/mainMenu.jsp"></forward>
<forward name="error" path="/addAssignment.jsp"></forward>
</action>
</action-mappings>
<!-- ========== Message Resources Definitions =========================== -->
</struts-config>