Я пытаюсь выполнить вызов ajax с помощью Struts2 и библиотеки JQuery. Это код JSP:
<s:div id="my_result" >
Nothing
</s:div>
<s:form action="UserManager" theme="simple">
<s:textfield name="nickname" />
<s:password name="password" />
<s:label cssClass="menu_span">
<sj:submit targets="my_result" value="Login" />
</s:label>
</s:form>
это код bean/action с xml:
public class UserManager extends ActionSupport {
private String nickname;
private String password;
@Override
public String execute() throws Exception {
String output="i have insered "+this.getNickname()+" and "+this.getPassword();
System.out.println(output);
return output;
}
public String getNickname() { return nickname; }
public void setNickname(String newValue) { nickname=newValue; }
public String getPassword() { return password; }
public void setPassword(String newValue) { password=newValue; }
}
<package name="model" extends="struts-default">
<action name="UserManager" class="model.UserManager">
<result>index.jsp</result>
</action>
</package>
Если я return SUCCESS
в bean-компоненте UserManager, он загружает my_result
ту же вызывающую страницу. Иначе, если я return output
, я получу сообщение Messages:
(с псевдонимом=aaa и паролем=bbb).
No result defined for action model.UserManager and result i have insered aaa and bbb
Что случилось? Как я могу вернуть эту строку? Я думаю, что это ошибка struts.xml
Ваше здоровье
ОБНОВЛЕНИЕ
открытый класс UserManager расширяет ActionSupport { частный псевдоним String; закрытый строковый пароль; ошибка частной строки;
@Override
public String execute() throws Exception {
error="i have insered "+this.getNickname()+" and "+this.getPassword();
return SUCCESS;
}
public String getNickname() { return nickname; }
public void setNickname(String newValue) { nickname=newValue; }
public String getPassword() { return password; }
public void setPassword(String newValue) { password=newValue; }
public String getError() { return error; }
public void setError(String newValue) { error=newValue; }
}
<s:div id="my_result" >
<s:property value="error" />
</s:div>
<s:form action="UserManager" theme="simple">
<s:textfield name="nickname" />
<s:password name="password" />
<s:label cssClass="menu_span">
<sj:submit targets="my_result" value="Login" />
</s:label>
</s:form>
ОБНОВЛЕНИЕ 2
<package name="model" extends="json-default">
<action name="UserManager" class="model.UserManager">
<result type="json" />
</action>
</package>