我喜欢为一家公司制作数据库驱动的常见问题解答,我有一个带变量的Faq.java类
1.faqUid 2.faqQuery 3.faqAnswer 4.companyUserRole
因此,我通过dao从数据库中获取结果,因为你们所有人都创建了list<>数据类型
private List<Faq> fetchFaqs;
fetchFaqs = faqService.fetchRnrFaq(rnrUser);现在,fetchFaqs是一个具有faq.java中指定的数据类型的通用列表。
现在假设我从数据库中获取数据,比如
骨架:
faqUid | faqQuestion | faqAnswer | companyUserRole
数据:
1| question1 | question2 |超级管理员
2| question1 | question2 |群组管理
3| question1 | question2 |用户
如你所见,对于所有三种类型的角色,即超级管理员、组管理员和用户,我都有相同的问题和答案。
当我正常获取时,我会得到
频频问答
Q.1问题1
A.1答案1
Q.2问题2
A.2答案2
Q.3问题3
A.3答案3
我想要获取的是
常见问题(超级管理员)
Q.1问题1
A.1答案1
常见问题(组管理员)
Q.1问题1
A.1答案1
常见问题(用户)
Q.1问题1
A.1答案1
我如何实现它?
PS。没有什么是硬编码的,一切都是数据库驱动的
faq.java类
private String faqQuestion;
private String faqAnswer;
private String faqUid;
private String userRoleName;有各自的getter和setter
发布于 2014-06-24 14:30:39
根据companyUserRole字段对结果进行分组(例如,在Map中),并处理每种类型的结果。
发布于 2014-06-24 14:39:06
我假设您的Faq类包含数据库中的所有字段,并且您可以修改查询。获取所需内容的最简单方法是使用ORDER BY companyUserRole对查询进行排序。然后你可以像这样处理(伪代码):
currentRole = "";
for(Faq faq: fetchFaqs) {
if ! currentRole.equals(faq.role) {
currentRole = faq.role
display_new_role_group_header()
display_faq(faq)这样的话:
<
https://stackoverflow.com/questions/24379678
复制相似问题