我对JSP非常陌生。无论如何,我试图使用c:foreach打印列表中的每个对象,但它不起作用,我无法弄清楚原因。我已经检查过类似的问题,但没有解决我的问题。
[HttpPost("RentCommunityAmenity")]
public JsonResult Post([FromBody]MyModel value)
{
}
public class MyModel
{
public int idCommunityAmenity { get; set; }
public int idHome { get; set; }
public DateTime startDate { get; set; }
public DateTime endDate { get; set; }
}
底部代码有效--- accounts.get(0)等。但是我无法使用它,因为如果我向数据库添加数据,那么每次都要添加更多代码。
感谢您的帮助。
答案 0 :(得分:1)
您没有提供有关您的BankAccount类的信息,因此我会做出一个假设:
package testingThings.EL.linkedlist;
public class BankAccount {
protected String accountName;
protected double accountBalance;
public BankAccount(String accountName, double accountBalance) {
this.accountName = accountName;
this.accountBalance = accountBalance;
}
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
public double getAccountBalance() {
return accountBalance;
}
public void setAccountBalance(double accountBalance) {
this.accountBalance = accountBalance;
}
}
我更改了 A ccountBalance a ccountBalance以遵守惯例。
在你的JSP中,你需要LeHill提到的那一行。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
不要忘记协议:http://
JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="testingThings.EL.linkedlist.BankAccount"%>
<%@ page import="java.util.LinkedList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
LinkedList<BankAccount> accounts = new LinkedList<BankAccount>();
accounts.add(new BankAccount("acc1", 1000.00));
accounts.add(new BankAccount("acc2", 2000.00));
pageContext.setAttribute("accounts", accounts);
%>
<c:forEach items="${accounts}" var="acct">
<p>${acct.accountName}</p>
<br />
<p>${acct.accountBalance}</p>
<br />
</c:forEach>
</body>
</html>
浏览器中的输出:
acc1
1000.0
acc2
2000.0
答案 1 :(得分:0)
看起来你没有吸气剂和二传手。 您的scriptlet的属性名称为&#34; accountName&#34;。 JSTL希望&#34; get&#34;或&#34;是&#34;作为bean方法名称的开头。 你不能直接调用该属性。你必须使用getter方法。 如果您创建了一个名为&#34; getAccountName&#34;它应该工作。