Java 在Struts2中,我没有在success.jsp页面上获得表单值
在我的应用程序中,我试图通过将用户的详细信息添加到数据库并在成功后完全插入这些值来注册用户。我需要显示表单输入页面,但在结果页面上我没有得到任何输出 我的动作课是Java 在Struts2中,我没有在success.jsp页面上获得表单值,java,jsp,struts2,ognl,model-driven,Java,Jsp,Struts2,Ognl,Model Driven,在我的应用程序中,我试图通过将用户的详细信息添加到数据库并在成功后完全插入这些值来注册用户。我需要显示表单输入页面,但在结果页面上我没有得到任何输出 我的动作课是 package action; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import dao.Empdao; import model.Empmodel; public class Empa
package action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import dao.Empdao;
import model.Empmodel;
public class Empaction extends ActionSupport implements ModelDriven<Object>{
private static final long serialVersionUID = 1L;
Empmodel modelobj;
public Empmodel getModelobj() {
return modelobj;
}
public void setModelobj(Empmodel modelobj) {
this.modelobj = modelobj;
}
public String execute() throws Exception{
Empdao empdao = new Empdao();
int queryResult = empdao.registration(modelobj);
if (queryResult==0)
{
addActionError("it is a dublicate entry please enter anothe id");
return ERROR;
}
else{
return SUCCESS;
}
}
@Override
public Object getModel() {
modelobj = new Empmodel();
return null;
}
}
package model;
public class Empmodel {
private String firstname;
private String lastname;
private String id;
private String gender;
private String dob;
private String maritalstatus;
private String email;
private String joiningdate;
private String designation;
private String address;
private String country;
private String state;
private String city;
private int pincode;
private long mobileno;
private String groups;
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getDob() {
return dob;
}
public void setDob(String dob) {
this.dob = dob;
}
public String getMaritalstatus() {
return maritalstatus;
}
public void setMaritalstatus(String maritalstatus) {
this.maritalstatus = maritalstatus;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getJoiningdate() {
return joiningdate;
}
public void setJoiningdate(String joiningdate) {
this.joiningdate = joiningdate;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public long getMobileno() {
return mobileno;
}
public void setMobileno(long mobileno) {
this.mobileno = mobileno;
}
public String getGroups() {
return groups;
}
public void setGroups(String groups) {
this.groups = groups;
}
public int getPincode() {
return pincode;
}
public void setPincode(int pincode) {
this.pincode = pincode;
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<constant name="struts.devmode" value="true"/>
<package name="loginmodel" extends ="struts-default">
<action name ="emplogin" class ="action.Empaction">
<result name= "wait">/Registration/wait.jsp</result>
<result name = "input">/Registration/empregistration.jsp</result>
<result name ="success" type="redirect" >/Registration/success.jsp</result>
<result name="error">/Registration/empregistration.jsp</result>
</action>
</package>
/注册/wait.jsp
/注册/empregistration.jsp
/注册/success.jsp
/注册/empregistration.jsp
empregistration.jsp
<%@ page language ="java" contentType ="text/html; charset=ISO-8859-1" pageEncoding ="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<%@ taglib uri="/struts-dojo-tags" prefix="sx" %>
<html>
<head>
<sx:head/>
<script type="text/javascript" src ="script.js"></script>
</head>
<body>
<div align="center"> <h1 style="color: red"> ENPLOYEE REGISTRATION FORM</h1>
<s:form action="emplogin" method="post">
<s:textfield name="modelobj.firstname" label="Employee Firstname"/>
<s:textfield name ="modelobj.lastname" label ="Last name"/>
<s:textfield name ="modelobj.id" label="Id"/>
<s:radio name ="modelobj.gender" list="{'male', 'female'}" label = "Gender"/>
<sx:datetimepicker name="dob" displayFormat="dd-MMM-yyyy" label="DOB"></sx:datetimepicker>
<s:radio name ="modelobj.maritalstatus" list="{'singale','married'}" label="Marital Status" />
<s:textfield name ="modelobj.email" label ="Email"/>
<sx:datetimepicker name ="modelobj.joiningdate" displayFormat="dd-MMM-yyyy" label="Joining Date"></sx:datetimepicker>
<s:textfield name= "modelobj.designation" label = "Designation"/>
<s:textarea name ="modelobj.address" label ="Address" />
<s:textfield name = "modelobj.country" label ="Country" />
<s:textfield name ="modelobj.state" label = "State" />
<s:textfield name ="modelobj.city" label ="City"/>
<s:textfield name ="modelobj.pincode" label ="Pincode"/>
<s:textfield name ="modelobj.mobileno" label="Mobile No"/>
<s:select name ="modelobj.groups" list="{'group 1', 'group 2', 'group 3'}" label ="Group" cssStyle="{width:184px"/>
<tr><td> </td></tr>
<tr>
<td> </td>
<s:submit align="center"></s:submit>
</s:form>
</div>
</body>
</html>
雇员登记表
您在成功时重定向了错误的页面,因为您丢失了显示结果所需的值。使用
<result name ="success">/Registration/success.jsp</result>
/Registration/success.jsp
或者干脆
<result>/Registration/success.jsp</result>
/Registration/success.jsp
顺便说一句,您只有firstname
和lastname
的getter和setter,因此只显示这些属性。如果要显示其他属性,则应向字段添加相应的方法
您可以阅读以了解可能导致结果的原因type=“redirect”
<>为了进一步比较转发和重定向结果之间的差异,考虑如果type=ReRealTcaction,则必须提到没有任何扩展的动作名 如果它是唯一的重定向,那么您必须提到包括操作名称和扩展名,对于您的问题,它是因为重定向问题发生的
即使在重定向到某个页面后,当您返回结果页面时,如果您想保留数据,最好将其放入会话。不要重定向页面,请将其删除并使用
<result name ="success">/Registration/success.jsp</result> in you struts.xml file
struts.xml文件中的/Registration/success.jsp
请发布Empmodel
的代码好吗?同时发布struts.xml
。即使我没有成功获得firname和lastname。jspremovetype=“redirect”
在您的配置中谢谢。现在它正在工作。您能告诉我们重定向导致的问题是什么吗?欢迎这样说,如果您认为这个答案是正确的,那么您应该接受它。@Arvind它不起作用的问题是,当您发送重定向时,存储在请求范围内的所有对象都将自动刷新,从而创建一个新的请求。
<result name ="success">/Registration/success.jsp</result> in you struts.xml file