首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

跪求!怎么将jsp中表单的内容提交给Struts2的action处理

2012-10-19 
跪求高手指点!如何将jsp中表单的内容提交给Struts2的action处理各位高手们我是这样做的:我在MyJsp.jsp如下

跪求高手指点!如何将jsp中表单的内容提交给Struts2的action处理
各位高手们我是这样做的:我在MyJsp.jsp如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>
  <title>My JSP 'MyJsp.jsp' starting page</title>
  </head>
  
  <body>
  <form method="post" action="Login.action">
  <p>name: <input type="text" name="name"></p>
  <p>Pwd:<input type="password" name="Pwd">
  <input type="submit" name="button1"></form></body>
</html>

Bean如下:package actions;

public class UserBean {
  private String name;
  private String Pwd
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public String getPwd() {return Pwd;
}
public void setPwd(String pwd) {Pwd = pwd;
}
;
}

action类:
package actions;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
private UserBean userBean;
public String excute(){
//setUserBean(userBean);
 
System.out.println("测试用户名name:"+getUserBean().getName());//但是始终没打印,这就是问题所在
System.out.println("测试密码Pwd:"+getUserBean().getPwd());
return SUCCESS;
}
public UserBean getUserBean() {
return userBean;
}
public void setUserBean(UserBean userBean) {
this.userBean = userBean;
}


}


web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  </filter-class>
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping></web-app>



Strut.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

<package name="Struts" namespace="StrutsPath"
extends="struts-default">
<action name="Login" class="actions.Login">
<result name="success">/SuccessJsp.jsp</result>
</action>
</package></struts>  



//跪求各路高手指点了,提交按钮后总是出现404,难道配置有问题吗,我一直很不理解,希望各路高手能给我指点!谢谢了~








































































[解决办法]
System.out.println("测试用户名name:"+getUserBean().getName());//但是始终没打印,这就是问题所在



getUserBean().getName()改成userBean.().getName()试下debug一下 看哪里报空
[解决办法]
<p>name: <input type="text" name="userBean.name"></p>
<p>Pwd:<input type="password" name="userBean.Pwd">

表单元素这样命名使得在Struts2中直接把表单元素的值接收为对象userBean对应属性的值

404错误 网页路径有问题 看是不是namespace的原因还是其他
[解决办法]
404是页面找不到吧。
<result name="success">/SuccessJsp.jsp</result> 是不是这个路径有问题?
[解决办法]
404 确实是页面问题 ,可能是你配置的页面跳转不对。看看方法返回值和配置文件里的是不是一样,还有返回的页面大小写问题 ,页面是否存在 。


还有你页面的用户名和密码的NAME属性赋值不对。 #2楼给的是正确的。
[解决办法]
<form method="post" action="Login.action">
改成
<form method="post" action="StrutsPath/Login.action">

[解决办法]
少个[e]
public String excute(){
==>
public String execute(){

热点排行