我是java的oop编程新手,我在查找如何在.jsp文件中处理此方法时遇到了麻烦。抱歉有限的信息,所以我要详细说明因为我仍然卡住了。我有一个LoginServlet,它从html文件中获取输入。
LoginServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
loginInfo.setUsername(username);
loginInfo.setPassword(password);
request.setAttribute("login", loginInfo);
ServletContext context = getServletContext();
RequestDispatcher dispatch = context.getRequestDispatcher("/Accounts.jsp");
dispatch.forward(request, response);
}
然后我将JavaBean.java与accessors / mutators一起用于密码和用户名,JavaBean也有这个方法
JavaBean - 获取/设置密码和方法的方法用户名和此方法getAccounts()
public Account[] getAccounts() {
return new Account[] {
new Account(3001, "Checking", 29.96f , 2912.96f),
new Account(4001, "Savings", 500.00f, 10030.50f),
new Account(6001, "IRA", 1000.25f, 43456.83f)
};
}
好的,现在我终于拥有只有JavaBean.java才能访问的Account.java,所以我需要使用getAccounts()
创建一个实例,然后访问Account.java中的getter和setter。最后我将包含Accounts.jsp代码
Accounts.jsp
<jsp:useBean id="login" class="edu.pcc.cis234j.assign04b.LoginBean" scope="request">
<jsp:setProperty property="*" name="login"/>
</jsp:useBean>
<h1>Welcome, <jsp:getProperty property="userName" name="login"/> How's your day going?</h1>
<% Account[] a = login.getAccounts(); %>
那么我将如何处理这个问题,以便显示新的帐户信息。无法访问Account.java并在JavaBean.java中使用此方法返回Account.java实例的数组。
答案 0 :(得分:2)
假设你有这个:
package p1;
public class Account{
public Account(int x, String y, float f, float z){....}
}
package p2;
import p1;
public class Login{
public Account[] getAccounts() {
return new Account[] {
new Account(3001, "Checking", 29.96f , 2912.96f),
new Account(4001, "Savings", 500.00f, 10030.50f),
new Account(6001, "IRA", 1000.25f, 43456.83f)
};
}
}
然后使用scriplets你可以像这样访问你的jsp:
<%@page import="p1"%>
<%@page import="p2"%>
<%
Login login = new Login();
Account[] ac = login.getAccounts();
%>
PS:确保您的导入正确
答案 1 :(得分:1)
package test;
public class Account {
String ac_id;
String ac_bal;
public Account(String ac_id, String ac_bal) {
this.ac_id = ac_id;
this.ac_bal = ac_bal;
}
public Account() {
}
public Account[] getAccounts() {
return new Account[] {
new Account("3001", "Checking"),
new Account("4001", "Savings"),
new Account("6001", "IRA")
};
}
}
以上是java代码......
<%
Account a = new Account();
Account[] arr = a.getAccounts();
%>
这是jsp代码。
它没有错误地正常工作。
希望这有效。
答案 2 :(得分:0)
所以这就是缺少的东西,我完成了这个。 首先我导入了类,使编译器对类型Account感到满意。
<%@ page import="edu.pcc.cis234j.assign04b.LoginBean" %>
<%@ page import="edu.pcc.cis234j.assign04b.Account" %>
然后我就能以这种方式访问帐户方法:
<% Account[] a = login.getAccounts(); %>
<% for(Account ac : a) { %>
<%= ac.getBalance() %>
<%= ac.getLastDeposit() %>
<%= ac.getName() %>
<%= ac.getId() %>
<% } %>
现在我只需将这些结果格式化为表格或其他内容,感谢您的帮助。我经常通过提问来解决自己的问题。它似乎让我的思绪因某种原因而滚动。