【发布时间】:2010-12-06 18:01:07
【问题描述】:
我正在尝试使用 Struts2 和 JQuery 库进行一些 ajax 调用。这是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>
这是带有 xml 的 bean/action 的代码:
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>
如果我在 UserManager bean 上 return SUCCESS,它会在同一调用页面上加载 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 { 私有字符串昵称; 私人字符串密码; 私有字符串错误;
@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>
【问题讨论】:
-
是的,但我还是有问题。检查评论:)
-
我已经再次评论了答案
-
问题再次编辑和评论。
标签: ajax struts2 struts javabeans