J2EE 两个list如何在JSP页面中交替输出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J2EE 两个list如何在JSP页面中交替输出?相关的知识,希望对你有一定的参考价值。

我先描述一下我的问题,求大神们给予解决的思路.
我用J2EE+Struts2做网上答题系统.
现在后台已经有两个list了,list1用来存放选择题题干,list2用来存放相对应的选项.现要求list1中输出一道题目,list2中要连续输出四项(ABCD).这个如何实现?思路是什么?求指教.
(我曾想过可否用<s:merge>标签,可惜这个标签只允许list1输出一个,list2再输出一个,如此反复...)

参考技术A 创建一个对象,有题干和4个选项。
在后台将list2的4选项和list1题干装到创建的对象中。在将对象装到新的list集合中。
或者,在后台直接将list1和list2交替装到一个新的list集合。
参考技术B 你可以做一个实体类,属性(题干,4个答案),然后从数据库中把题干和答案查出来,保存进去,这样在页面上展示的时候就没问题了。追问

谢谢!!

谢谢!!

本回答被提问者采纳
参考技术C

没有环境 没经过测试,应该可以。。

<s2:iterator value="list1" status="lists">
    <s2:property value="#lists.数据"/><br>
    <s2:property value="#list2[#lists*4].数据"/><br>
    <s2:property value="#list2[#lists*4+1].数据"/><br>
    <s2:property value="#list2[#lists*4+2].数据"/><br>
    <s2:property value="#list2[#lists*4+3].数据"/><br>
</s2:iterator>

参考技术D 建议你把list1和list2合并。这样不容易出现list1和list2不对应的情况。
这样在SQL上就解决了问题。
第5个回答  2013-05-29 实在不行就写代码吧,不一定非得要弄标签嘛

如何在Spring MVC控制器类中处理两个jsp表单页面

我有两个不同的jsp页面,一个是login.jsp和form.jsp.i想要构建应用程序,如登录成功,然后表单页面将打开。在这里我处理两个jsp页面,但它会显示歧义问题。

@RequestMapping(value = "/", method = RequestMethod.GET)
public String loginModel(Model model){

    model.addAttribute("loginBean",new LoginBean());
    return "login";
}

@RequestMapping(value = "/", method = RequestMethod.GET)
public String model(Model model){

    //FrontBean fBean=new FrontBean();
    model.addAttribute("frontBean",new FrontBean());


    return "form";
}
答案

这是您的登录页面,也是您的欢迎页面

@RequestMapping(value = "/", method = RequestMethod.GET)
public String loginModel(Model model) {

    model.addAttribute("loginBean", new LoginBean());
    return "login";
}

那么你不应该向另一个方法添加相同的路径。将您的其他方法更改为这样(将映射值更改为第二个方法)

@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String model(Model model){

    //FrontBean fBean=new FrontBean();
    model.addAttribute("frontBean",new FrontBean());


    return "form";
}

您还需要业务逻辑来检查用户名和密码。然后重定向到这样的欢迎页面。 (您的login.jsp应该在post方法中将用户名和密码发送给/ check-user)

@PostMapping("/check-user")
String checkUser(@RequestParam("userName") String userName , @RequestParam("passWord") String passWord){
    if(userName.equals("Your username") && passWord.equals("Your password")){
        return "redirect:welcome";
    }
    return "error";
}

请记住,这不是一种安全的实施方式。这只是一个容易理解的例子。你可以实现自己的事情。祝你好运

以上是关于J2EE 两个list如何在JSP页面中交替输出?的主要内容,如果未能解决你的问题,请参考以下文章

[J2EE基础]初识JSP和Servlet

如何将BufferedImage输出到jsp页面

struts2的action中有两个list集合,如何在页面中取得

jsp中如何把数据库中查询出来的数据输出到jsp页面。

Dart以交替方式组合两个列表

jsp页面如何获js中if语句的变量值