这是我第一次使用带有网页的java,所以我对此事完全无知,如果我冒犯了我的编码,我会道歉。 从浏览互联网我可以看到,如果我有一个我想要在网页中实现的类,我需要确保它被编译并将.class文件放在WEB-INF文件夹中的classes文件夹中。
我所说的课程是以下代码:
public class Transaction {
String type;
double amount;
Object date;
public Transaction(double account, double amount, Object date){
this.type = type;
this.amount = amount;
this.date = date;
}
public String toString(){
String string = "Account Number: "+type+"\nAmount: "+amount+"\nDate: "+date;
return string;
}
}
现在这就是我迷路的地方我想让以下代码与网页交互工作:
ArrayList<Transaction> track = new ArrayList<Transaction>();
String amount = (String)pageContext.getAttribute("amount");
String acountFrom = (String)pageContext.getAttribute("accountNum1"}
java.util.Date date= new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
String formattedDate = sdf.format(date);
Transaction newItem = new Transaction(accountNum1,amount,formattedDate);
track.add(newItem);
上面的代码要做的是从HTML表单中获取两个变量,这些变量发送到页面,上面的代码在其中工作。它得到一个时间戳并将其放入arraylist。这项工作之后,我希望做的是让arraylist在页面上打印出来以显示所有发生的交易。再次感谢您的任何建议。
编辑:我使用Tomcat作为我的服务器,使用JSTL / JSP作为网站的功能方面。
答案 0 :(得分:0)
您需要两个部分来完成这项工作,Web服务器和您将数据放入的HTML模板。 Java有用于构建Web应用程序的Servlet API,但它是一个非常低级的API,并且有许多框架可以为您处理细节。我建议看Spring Boot;它是使用Spring Framework的应用程序的一个非常简单的启动器构建器,您可以在一个简短的Java类中使用一个可用的Web应用程序。
您还需要数据的HTML模板。一个主要的选择是JSP,但是现在我更喜欢Thymeleaf,因为在浏览时在浏览器中预览静态HTML片段更容易。 Spring Boot自动支持JSP和Thymeleaf。无论您选择哪种方式,您都可以使用一些占位符(通常是div或table行,也可以根据您在交易中输入的详细信息)编写HTML页面并将List<Transaction>
传递给它(在Spring中,您可以将其添加到Model
)。