iteye_265 2011-08-11 11:33
浏览 339
已采纳

Struts2.0 页码传值到Action的问题

我的Action总是取不到页面传的值是为什么?
我的web.xml配置如下:
[code="xml"]
<?xml version="1.0" encoding="UTF-8"?>

<display-name>PGProject</display-name>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>


sitemesh
com.opensymphony.sitemesh.webapp.SiteMeshFilter

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>    

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
    <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>
<listener>
    <listener-class>org.apache.struts2.dispatcher.ng.listener.StrutsListener</listener-class>
</listener>    

 <servlet>
    <servlet-name>sitemesh-freemarker</servlet-name>
    <servlet-class>org.apache.struts2.sitemesh.FreemarkerDecoratorServlet</servlet-class>
    <init-param>
        <param-name>default_encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>sitemesh-freemarker</servlet-name>
    <url-pattern>*.ftl</url-pattern>
</servlet-mapping>   

<welcome-file-list>
    <welcome-file>Login.action</welcome-file>
</welcome-file-list>


[/code]
页面代码如下:
[code="html"]
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>


登录

用户名:
密码:



[/code]
Action代码如下:
[code="java"]
package cn.com.pzhsteel.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import cn.com.pzhsteel.pojo.JUser;
import cn.com.pzhsteel.service.UserService;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport
{

/**
 * 
 */
private static final long serialVersionUID = 1L;
private JUser user;
private UserService myService;
public String execute()throws Exception
{
    System.out.println("fdsafdsafdsafdsafdsaf");
    return SUCCESS;
}
public String checkUser() throws Exception
{
    HttpServletRequest request = ServletActionContext.getRequest();
    String flag=request.getParameter("user.name");
    if(myService == null)
        return "error";
    else
    {
        if(user == null)
        {
            user = new JUser();
            user.setName("test");
            user.setPassword("12345");
        }
        if(myService.isUser(user))
            return "success";
        else
            return "unsuccess";
    }
}

public JUser getUser()
{
    return user;
}

public void setUser(JUser user)
{
    this.user = user;
}

public void setMyService(UserService myService)
{
    this.myService = myService;
}

}
[/code]
POJO类代码如下:
[code="java"]
public class JUser
{
private String name;
private String password;
private String sysId;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getSysId()
{
return sysId;
}
public void setSysId(String sysId)
{
this.sysId = sysId;
}
}
[/code]
Struts2配置如下:
[code="xml"]
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<!-- Some or all of these can be flipped to true for debugging -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<constant name="struts.devMode" value="false"/>
<constant name="actionPackages" value="cn.com.pzhsteel.action"/>
<package name="default" namespace="/" extends="struts-default">

    <interceptors>
        <interceptor-stack name="crudStack">
          <interceptor-ref name="checkbox" />
            <interceptor-ref name="params" />
            <interceptor-ref name="staticParams" />
            <interceptor-ref name="defaultStack" />
        </interceptor-stack>
    </interceptors>

    <default-action-ref name="Login" />

    <!--global-results>
        <result name="error">/error.jsp</result>
    </global-results-->

    <global-exception-mappings>
        <exception-mapping exception="java.lang.Exception" result="error"/>
    </global-exception-mappings>

    <action name="Login">
        <result>Login.jsp</result>
    </action>
    <action name="userAction" class="userAction" method = "checkUser">
        <result name="success">/Login.jsp</result>
        <result name="unsuccess">/error.jsp</result>
    </action>

</package>

[/code]
可User对象使中获取不到值?为什么呀?????

  • 写回答

3条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 结构体数组文件读取问题
      • ¥15 写c++代码,第7题说一下使用的计算方法
      • ¥15 postman接口自动化测试报告实践总结
      • ¥15 有关c++的问题,利用相关知识
      • ¥15 求香农编码和解码的matlab代码
      • ¥20 ROS中的TEB局部规划问题
      • ¥20 关于#matlab#的问题:要求测出上面图片中所有同心圆的半径
      • ¥20 epanet软件运行问题
      • ¥15 Python 文件读取
      • ¥60 dpabi进行Alff计算时脑池有干扰信号