我有以下代码,并且我想实现以下功能:/ getJson将以json形式返回用户对象,而/ getJson2将以Json形式返回user2。
@ParentPackage("json-default")
public class JsonAction extends ActionSupport{
private User user = new User("John","Smith");
private User user2 = new User("Smith","John");
public String populate(){
return "populate";
}
@Action(value="/getJson", results = {
@Result(name="success", type="json")})
public String test(){
return "success";
}
@Action(value="/getJson2", results = {
@Result(name="success", type="json")})
public String test2(){
return "success";
}
@JSON(name="user")
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@JSON(name="user2")
public User getUser2() {
return user2;
}
public void setUser2(User user2) {
this.user2 = user2;
}
}
当前,无论我使用哪种方法,我仍然会得到以下结果:
{"user":{"firstName":"John","lastName":"Smith"},"user2":{"firstName":"Smith","lastName":"John"}}
可能吗?
更新:
public class JsonAction extends ActionSupport{
private User user = new User("John","Smith");
private User user2 = new User("Smith","John");
public String populate(){
return "populate";
}
@Action(value="/getJson", results = {
@Result(name="success", type="json",params = {
"includeProperties",
"user"})})
public String test(){
return "success";
}
@Action(value="/getJson2", results = {
@Result(name="success", type="json",params = {
"includeProperties",
"user2"})})
public String test2(){
return "success";
}
@JSON(name="user")
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@JSON(name="user2")
public User getUser2() {
return user2;
}
public void setUser2(User user2) {
this.user2 = user2;
}
}
现在我得到
{"user":{}}
和
{"user2":{}}
是的,有可能,该解决方案需要使用包含/排除参数。
以下是一个示例。
方法getJson1和getJson2显示includeParameters,而getJson3显示excludeParameters。
注意:尽管本示例使用字符串作为include / exclude参数的参数,但该字符串被解释为正则表达式。因此,我可以将action3上的“
string1,string2”替换为“ string *”。
有关更多信息,请参见:https
:
//cwiki.apache.org/confluence/display/WW/JSON%20Plugin
package struts2;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
@ParentPackage("json-default")
public class Test2 extends ActionSupport {
private String string1 = "One";
private String string2 = "Two";
private String other = "Other";
public String getString1() {
return this.string1;
}
public String getString2() {
return this.string2;
}
public String getOther() {
return this.other;
}
@Action(value="/getJson1", results = {
@Result(type = "json", params = {
"includeProperties",
"string1"
})})
public String action1() {
return ActionSupport.SUCCESS;
}
@Action(value="/getJson2", results = {
@Result(type = "json", params = {
"includeProperties",
"string2"
})})
public String action2() {
return ActionSupport.SUCCESS;
}
@Action(value="/getJson3", results = {
@Result(type = "json", params = {
"excludeProperties",
"string1, string2"
})})
public String action3() {
return ActionSupport.SUCCESS;
}
}
… / getJson1 返回{“ string1”:“一个”}
… / getJson2 返回{“ string2”:“ Two”}
… / getJson3 返回{“ other”:“ Other”}
我使用struts2和hibernate制作了一个web应用程序,并创建了一个war。 它在tomcat中运行良好,但由于weblogic加载了JPA1.0,所以我创建了weblogic.xml,如下所示 这解决了这个问题,它在weblogic 10.3.3中工作得很好,但是当我在weblogic 10.3.2中使用上面的weblogic.xml部署这个相同的war时,它的给出错误如下 发现验证问
本文向大家介绍struts2中通过json传值解决乱码问题的实现方法,包括了struts2中通过json传值解决乱码问题的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了struts2中通过json传值解决乱码问题的实现方法。分享给大家供大家参考,具体如下: 在struts2中如果使用json在jsp和java文件传中文值时往往会出现中文乱码访问,解决此问题可以使用以下方法 一、在
我一直在努力尝试,但我无法克服这个错误。我有Ruby版本1.8.7和Gem版本2.1.11,我试图安装open project,但我总是遇到这个错误 安装json(1.8.1)gem::installer::extensionbuilderror:错误:未能构建gem本机扩展。 迈克 安装json(1.8.1)时出错,Bundler无法继续。在绑定之前,请确保成功。==>出错:(==>安装中止。
问题内容: 我一直在这个问题上苦苦挣扎,因为我是Struts2开发的新手,最近才开始使用此命名Convention Plugin。 我正在尝试创建一个简单的webapp,起初仅包含两个页面: 登录页面(login.jsp) 主页(home.jsp) 首先,向用户显示一个登录页面,如果提供了正确的用户名和密码,他们将登录并重定向到主页。 我已经成功地创建了小型Web应用程序,写下了自定义登录拦截器,
问题内容: 我在SVN上的Eclipse中有一个新的Java项目,只是试图在Eclipse的Project Explorer窗口中打开该项目,并收到此错误: 从插件调用代码时发生了问题。 我该如何解决这个问题? 异常堆栈跟踪: 会话数据: 问题答案: 您的项目可能没有配置为您的补偿。尝试从现有资源中删除并重新创建项目。如果它们不小心提交到SVN(例如,以点开头),也请删除所有的月食内部目录。
我已经为一个Java项目在本地机器上建立了Git remote存储库,基本上我们试图从两个不同的地方处理同一个项目,专用的Git服务器在另一端。 我走过的台阶! •更新主机文件以添加新服务器 我已经成功地做到了; 当我查看Eclipse内置的ErrorLog时: 我得到了; 当我双击 问题是: 如何解决此问题并运行项目文件?请告诉我方向,谢谢。