gpt4 book ai didi

java - 如何使用 struts、JSP 和 Java 从 Controller 获取数组

转载 作者:行者123 更新时间:2023-11-30 10:43:16 24 4
gpt4 key购买 nike

我想知道这里是否有人知道如何使用 Struts 从 Controller 获取数组?

showTeams.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="nl.***.controller.TeamController"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@include file="includes/layout.jsp" %>
<div class="col-lg-12">
<h1>Alle Teams</h1>
<table>
<caption><h1>List of Teams</h1></caption>
<th>ID Team</th>
<th>Naam Team</th>
<tr>
<c:forEach var="team" items="${teams}">
<td>${team.getId}<td>
<td>${team.getName()}<td>
</c:forEach>
</tr>
</table>
</div>
<a href="index.jsp">Back to Start</a>
<%@include file="includes/footer.jsp" %>

TeamController.java

package nl.***.controller;

import java.util.ArrayList;
import nl.***.datalayer.DAOTeam;
import nl.***.models.Team;
import com.opensymphony.xwork2.ActionSupport;
/**
*
* @author
*/
public class TeamController extends ActionSupport{
private String name;
ArrayList<Team> teams = new ArrayList<Team>();

public String execute() throws Exception{
return "createTeam";
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String addTeamToDB(String name){
try{
Team t = new Team(name);
DAOTeam.getInstance().createTeam(t);
return "<h1>Team " + name + " is toegevoegd aan de Database</h1>";
}catch(Exception e){
return "<h1>FAILED with message" + e.getMessage() + "</h1>";
}
}

public String getAllTeams(){
teams = DAOTeam.getInstance().loadTeams();
System.out.println("ik ben er!!@#!EWDSRETGDFQTWTRE"); //for testing, removed when done
//mapping.findForward("showTeams");
return "getallteams";
}
}

struts.xml

<struts>
<constant name="struts.devMode" value="true" />
<package name="teamcreate" extends="struts-default">
<action name="createTeam"
class="controller.TeamController"
method="execute">
<result name="createTeam">/view/prossesTeam.jsp</result>
</action>
</package>
<package name="teamLoad" extends="struts-default">
<action name="showTeams"
class="controller.TeamController"
method="getallteams">
<result name="getallteams">/view/showTeams.jsp</result>

</action>
</package>
</struts>

当我加载页面时,它没有在 Controller 中定义数组“teams”。我试过更改 struts.xml 中的值,但仍然没有。如果试图在 TeamController 的执行函数中创建一个 if 语句以确保它甚至运行但我什么也没得到我不知道我做错了什么。

编辑:我真正想要的是,当您转到 showTeams.jsp 时,它应该会向您显示一个包含所有使用 Struts 的团队的表格。

最佳答案

View 应该从 Controller 返回结果 getallteams。因此,您应该调用 showTeams 操作将团队加载到操作类变量中。

private List<Team> teams = new ArrayList<Team>();

public List<Team> getTeams() { return teams; };

forEach 标签中的teams需要最后一个方法来求值

<c:forEach var="team" items="${teams}">
<td>${team.id}<td>
<td>${team.name}<td>
</c:forEach>

关于java - 如何使用 struts、JSP 和 Java 从 Controller 获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37832925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com