【发布时间】:2011-05-05 10:03:54
【问题描述】:
由于我是 JSF 框架的新手,想知道如何将用户输入的数据添加到数据库中。 更清楚的是,我将 jsf 与 jsp 一起使用,我的 jsp 包含一些输入字段和一个提交按钮。我如何捕获所有用户输入的数据并将其作为按钮的输入参数发送,因为我的后端将所有这些作为输入参数并使用新记录更新表。
请查看我的代码,让我知道我的错误
Registration.jsp
<body>
<f:view>
<h:form>
<h:panelGrid columns="2" rules="all" width="100%" style="background:#03547C;color:#FDD017">
<h:column>
<h:outputText value="Stu No : "></h:outputText>
<h:inputText value="#{RegBean.stuNo}"/>
</h:column>
<h:column>
<h:outputText value="Stu Name : "></h:outputText>
<h:inputText value="#{RegBean.stuName}"/>
</h:column>
<h:column>
<h:outputText value="Standard : "></h:outputText>
<h:inputText value="#{RegBean.standard}" />
</h:column>
<h:column>
<h:outputText value="School : "></h:outputText>
<h:inputText value="#{RegBean.school}" />
</h:column>
</h:panelGrid>
<h:panelGrid columns="2" rules="all" width="100%" style="background:#03547C;color:#FDD017">
<h:column>
<h:form>
<h:commandButton id="submitBtn" value="Submit" action="#{RegBean.submitDetails}">
<f:param name="sNo" value="#{RegBean.stuNo}" />
<f:param name="sName" value="#{RegBean.stuName}" />
<f:param name="std" value="#{RegBean.standard}" />
<f:param name="schl" value="#{RegBean.school}" />
</h:commandButton>
</h:form>
</h:column>
</h:panelGrid>
</h:form>
</f:view>
</body>
注册 Bean
public class VendorRegBean {
private String stuNo;
private String stuName;
private String standard;
private String school;
// getters and setters
public void submitDetails() {
Map requestMap = context.getExternalContext().getRequestParameterMap();
String stNo = (String) requestMap.get("sNo");
String stName = (String) requestMap.get("sName");
String stndrd = (String) requestMap.get("std");
String scl = (String) requestMap.get("schl");
vReg.stuRegistration(stNo ,stName ,stndrd ,scl );
}
}
【问题讨论】:
-
Oracle 提供了整个 JEE6 软件堆栈。不幸的是,Oracle 强迫您使用 Glassfish 3.1(JEE6 参考实现),但您不必设置它,只需安装二进制文件。然后将 [root]/glassfish3/glassfish/lib/javaee.jar 放入您的构建或类路径中。它包含 JSF 开发所需的一切。标记
标签: jsf-2