我有一个signup.jsp
页面,新用户输入了他的电子邮件ID。此页面的片段如下所示:
<s:form action="signupprocess">
<s:textfield label="E-Mail" key="userid"></s:textfield>
<s:password label="Password" key="password" cssStyle="margin-top:5px;"></s:password>
<s:password label="Retype Passowrd" key="repass" cssStyle="margin-top:5px;"></s:password>
<s:submit cssStyle="margin-top:5px;" />
</s:form>
现在,在完成所有后端处理,即将用户的电子邮件和密码添加到数据库之后,用户被定向到“user.jsp”,在那里他必须填写个人详细信息。此页面如下所示:
<s:form action="user_details">
<s:textfield label="First Name" key="firstname"></s:textfield>
<s:textfield label="Last Name" key="lastname" cssStyle="margin-top:5px;"></s:textfield>
<s:label label="Adress" cssStyle="margin-top:5px;"></s:label>
<s:textfield label="Line1" key="addr_1" cssStyle="margin-top:5px;"></s:textfield>
<s:textfield label="Line2" key="addr_2" cssStyle="margin-top:5px;"></s:textfield>
<s:textfield label="Line3" key="addr_3" cssStyle="margin-top:5px;"></s:textfield>
<s:textfield label="City" key="city" cssStyle="margin-top:5px;"></s:textfield>
<s:textfield label="State" key="state" cssStyle="margin-top:5px;"></s:textfield>
<s:textfield label="Mobile" key="mobile" cssStyle="margin-top:5px;"></s:textfield>
<s:checkboxlist list="areas" name="userareas" label="Areas of Interest" cssStyle="margin-top:5px;"></s:checkboxlist>
<s:submit cssStyle="margin-top:10px;" />
</s:form>
现在在这个jsp的动作类中,我希望能够访问特定用户的电子邮件ID,以便仅在该用户的行中的数据库中创建条目。如何从user.jsp的action类中的signup.jsp页面访问userid的值。
如果需要,我可以提供任何进一步的信息。
答案 0 :(得分:0)
我相信你已经将signup.jsp
中的值作为Action类中的实例变量捕获,如下所示
public class SignupAction implements SessionAware{
private String userid;
// getters and setters for user id
// do not create a getter for this
private Map sessionData;
public void setSession(Map sessionAttributes){
this.sessionData = sessionAttributes;
}
public String execute(){
sessionData.put("email",userid);
// forward to user.jsp
}
}
在下一个处理来自user.jsp的表单提交的动作类
public class UserAction implements SessionAware{
// do not create a getter for this
private Map sessionData;
public void setSession(Map sessionAttributes){
this.sessionData = sessionAttributes;
}
public String execute(){
if(sessionData.containsKey("email")){
String email = (String)sessionData.get("email");
// do what you want with email
}
}
}
有关详细信息,您可以看到此tutorial