【问题标题】:"Set of a Set" getter in a javabeanjavabean中的“Set of a Set”获取器
【发布时间】:2017-02-27 10:18:17
【问题描述】:

我有一个链接到 jsp 页面的 javebean,并且必须管理一个 SET OF A SET。

javabean 的结构是这样的:

public class QueryManagement {
    ...
    private BigDecimal prob;
    private Set<Set<Axiom>> explanations;
    ...
    public void QueryExecute() {
        ...
        QueryResult r = new QueryResult();
        ...
        prob = r.getProbability();
        explanations = r.getExplanations();
        ...
    }
    ...
    public BigDecimal getProb() {
        return this.prob;
    }
    ...
}

现在,我可以从 jsp 页面返回 prob&lt;%=QueryManagement.getProb()%&gt;,但我不知道如何返回“Set of a Set”的值。我尝试了一个简单的 getter 返回 this.explanations,但它不起作用。我知道我必须递归返回它,但我在the documentation I found about Set 找到的文档无法帮助我。你能解释一下如何进行吗?为什么?

【问题讨论】:

  • 你应该做一个getExplanations 并且在你的JSP 中,如果你包含了这个类,就使用Set...
  • 你可以使用迭代器来迭代集合,意味着你必须使用两个迭代器
  • @DamCx 已经尝试过了,但它不起作用。尝试了一个简单的public Set&lt;Set&lt;Axiom&gt;&gt; getExpl() { return this.explanations; }
  • @santoshgore 你能告诉我怎么做吗?我还没有找到做集合迭代的方法,也不知道如何在这里做一个双重的!
  • @GondraKkal 请在我下面的答案中找到解决方案

标签: java jsp set javabeans getter


【解决方案1】:
   public Set<Axiom> getExpl() 
   { Iterator itr1 = explanations.iterator();
        Set set ;
        while(itr1.hasNext())
        { 
            set = (HashSet)itr1.next(); 
        // second iterator for internal set 
        }                 
        return set ; 
   }

【讨论】:

  • 我应该如何使用这个代码?我必须用您的声明替换我的explanations 声明吗?那我应该把剩下的放在哪里?对不起,但你的答案有点不清楚,虽然我认为它接近解决我的问题。我必须将它放入getter方法中吗?以及如何从jsp文件中调用它?
  • 如果你想得到唯一的解释集合,那么你可以直接使用 this.explanations 返回。但是如果你想要 Axiom 的集合,那么为 Axiom 编写 getter 并在 Getter 内部使用迭代器迭代解释 Set 一次,它将重新使用 Axiom 的集合。
  • 还是看不懂,不好意思。。我要返回的是内集的内容,应该是一些字符串。 this.explanations 回复我 [[SubClassOf( )]] 这不是我想要的。没看懂write getter for Axiom:Axiom 是一种变量,所以不能为它做getter。
  • 这样你更新了,在原来的第一个也是,它没有完成指令explanations = r.getExplanations();。我的 java 文件也被命名了,我猜你希望我创建一个以第一行命名的新 javabean:public Set getBean 对吗?但是我有无法修改的代码(不是我自己写的),所以我必须保留我第一篇文章中的内容。我还没有完全理解,所以你能把这两个代码合并吗,@santosh?
  • 我不应该使用 toArray() 方法来检索我需要的字符串吗?所以要做的事情也许是把集合中的集合转换成一个数组,保存到一个变量中,然后回调到jsp文件中?
猜你喜欢
  • 2022-12-02
  • 2022-12-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 2022-12-28
相关资源
最近更新 更多