主要问题是我使用Struts 1.0。但是我不能改变它。我在jsp中使用arraylist的属性时遇到了一个问题。显示工作正常,但我没有以我的形式获取arraylist中实例化的数据。在调试模式下,我发现它永远不会出现在我的属性的getter中。我在struts 1.0中找到了两种解决方案,但我无法使其正常工作。
我的ActionForm中的数组列表:
private ArrayList<AccountScreenBean> accountsScreen = new ArrayList<AccountScreenBean>();
Arraylist中Account对象的类声明:
public class Account implements Serializable, Cloneable {
private String bic;
public String getBic() {
return bic;
}
public void setBic(final String newBic) {
bic = newBic;
}
}
我的jsp中的调用:
<logic:iterate name="BankAccountsActionForm" property="accountsScreen" id="accScreen" indexId="index">
<html:text name="accScreen" property="<%="accountsScreen["+index+"].bic"%>" size="18" maxlength="11" onkeyup="suivant(this,'partPays',11,'accScreen')"
styleClass="inscCB_SaisieTexte" />
</logic:iterate>
控制台错误:
weblogic。servlet。jsp。编译异常:未能编译JSP/JSP/Contents/bankAccountsContent。jsp银行账户内容。jsp:171:81:无法识别此属性。“size=“18”maxlength=“11”。
带下划线的accountsScreen
我还在jsp中尝试了另一种方法:
<html:text name="accScreen" property="accountsScreen[${index}].bic" size="18" maxlength="11"
onkeyup="suivant(this,'partPays',11,'accScreen')"
styleClass="inscCB_SaisieTexte" />
这次控制台错误是:
java.lang.无效的索引属性帐户屏幕[${index}]
你有解决这些问题的方法或其他方法吗?
我认为您的第一个“解决方案”的问题是
<logic:iterate name="BankAccountsActionForm" property="accountsScreen" id="accScreen" indexId="index">
<html:text name="accScreen" property="bic" etc="..." />
</logic:iterate>
相反
Aleksandr M帮助我找到最终解决方案的线索。事实上,我需要使用简单的引号,而不是双引号。然后,对accountsScreen属性的访问出现了问题,因为它不是一个已索引的属性。最后,我需要两个不同的getter名称,即使参数不一样。因此,我将索引前缀添加到索引getter。
在jsp中:
<html:text name="BankAccountsActionForm" property='<%="indexedAccountsScreen["+index+ "].partAccountNumber2"%>'
在java表单中,我需要一个索引属性来访问accountsScreen ArrayList的元素。所以我有了通过索引访问元素的getter:
public void setAccountsScreen(int index, AccountScreenBean accScreen) {
this.accountsScreen.add(index, accScreen);
}
public AccountScreenBean getIndexedAccountsScreen(int index) {
return accountsScreen.get(index);
}
谢谢每一个人。
本文向大家介绍如何使用JSP读取表单数据?,包括了如何使用JSP读取表单数据?的使用技巧和注意事项,需要的朋友参考一下 JSP使用getParameter()方法读取简单参数,并使用getInputStream()方法读取来自客户端的二进制数据流来处理请求。 使用JSP读取表单数据 JSP根据情况使用以下方法自动处理表单数据解析- getParameter():您调用request.getPara
本文向大家介绍jsp中EL表达式获取数据,包括了jsp中EL表达式获取数据的使用技巧和注意事项,需要的朋友参考一下 jsp标签: <jsp:include> <jsp:forward> 实现请求转发 <jsp:param> 给上面的添加参数的 EL表达式: 1.获取变量数据 你好,${name} 2.获取数组数据 你好,${names[0]} 3.获取集合数据 你好,${names[1]} 你好,
但是得到 jspException(jspservletwrapper.java:568)org.apache.jasper.servlet.jspservletwrapper.java:455)org.apache.jasper.server.jspserver.servicejjspfile(jspservlet.java:390)org.apache.jasper.server.jspser
我正在尝试学习jsp页面中的数据库连接。下面是我的代码: 这是我的servlet: 下面是我的dbConnect类: 问题是,在connect()函数中,当涉及行class.forName(“com.mysql.jdbc.driver”)时。newInstance();它会产生一个错误并进入catch块。这里出了什么问题,有人能帮忙吗?多谢了。 编辑:我按照Nambari说的做了,现在我在行con
我正在尝试与Linux中的mysql数据库连接。我知道我在包含jar文件时犯了错误。我不知道如何在linux中引用这些jar文件,就像我们在eclipse或NetBeans中引用它们一样。我正在使用Tomat7运行这些jsp页面。 类型异常报告 消息处理第9行的JSP page/first.JSP时发生异常 说明服务器遇到内部错误,导致它无法完成此请求。 例外情况 JasperException: