Во-первых, имя вашего действия должно быть именем вашего псевдонима. Затем вы должны указать имя метода.
Конечно, вы должны определить действие и методы в struts.xml
<action name="Comment_*" method="{1}" class="com.yourproject.folder.Comment">
<result name="input">/pages/page.jsp</result>
<result name="success" type="redirectAction">nextAction</result>
</action>
Так что вы можете написать
<s:form action="Comment_saveComment">
А в вашем классе
public class Comment extends ActionSupport {
public String saveComment() throws Exception {
Map session = ActionContext.getContext().getSession();
ExternalUser user = (ExternalUser) session.get("user");
AIComment aiComment = new AIComment();
aiComment.setAi(ai);
aiComment.setPostedOn(new java.util.Date());
aiComment.setPostedBy(user);
aiCommentDao.saveAIComment(aiComment);
return SUCCESS;
}
}
Я не знаю, как вы получили значения "ai" и "user". Если вы хотите получить значения из FORM, вы должны объявить строки с такими же именами, что и для ввода формы. В вашем случае «id», «description» являются входными значениями. Если вы хотите получить значения из FORM, вы должны объявить getter и setters этих переменных в вашем классе.
В вашем случае для "id"
private String Id;
private String Description;
public String getId() {
return Id;
}
public void setId(String Id) {
this.Id = Id;
}
...