如何从Struts2 action类传值到jsp页面中 40C

**
我set进JAVAben类的数据在jsp里面取不到值,有没有人能帮帮忙,好久没能解决这个问题。最好是能直接把代码列出来。**

设置数据代码

public class ShowShare extends ActionSupport{



    String title  ;
    public HashMap<String, String> info=new HashMap<String, String>();
    public List<String>list;
    public String getTitle() {
        return title;
    }
    public HashMap<String, String> getInfo() {
        return info;
    }
    public void setInfo(HashMap<String, String> info) {
        this.info = info;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getImg1() {
        return img1;
    }
    public void setImg1(String img1) {
        this.img1 = img1;
    }
    public String getImg2() {
        return img2;
    }
    public void setImg2(String img2) {
        this.img2 = img2;
    }
    public String getImg3() {
        return img3;
    }
    public void setImg3(String img3) {
        this.img3 = img3;
    }
    String content  ;
    String img1;
    String img2;
    String img3;

public String execute(){

        System.out.println("1"+title);
        System.out.println("1"+content);
        System.out.println("1"+img1);
        System.out.println("1"+img2);
        System.out.println("1"+img3);
        ShowShareJavaBean show1d=new ShowShareJavaBean();
        show1d.setTitle(this.getTitle());
        show1d.setContent(this.getContent());
        show1d.setImg1(this.getImg1());
        show1d.setImg2(this.getImg2());
        show1d.setImg3(this.getImg3());

        ActionContext.getContext().getSession().put("title",this.getTitle());
        ActionContext.getContext().getSession().put("content",this.getContent());
        ActionContext.getContext().getSession().put("img1",this.getImg1());
        ActionContext.getContext().getSession().put("img2",this.getImg2());
        ActionContext.getContext().getSession().put("img3",this.getImg3());
        System.out.println("4"+show1d.getTitle());
        System.out.println("4"+show1d.getContent());
        System.out.println("4"+show1d.getImg1());
        System.out.println("4"+show1d.getImg2());
        System.out.println("4"+show1d.getImg3());
        info.put("success", "success");
        return SUCCESS;
    }

}

JSP代码

<%@page import="com.yiibai.user.action.ShowShare"%>
<%@page import="com.yiibai.utils.ShowShareJavaBean"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page language="java" import="java.util.* ,java.awt.*" errorPage="jsps/error.jsp" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
        <meta content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=yes" name="viewport" />

        <meta name="description" content="Responstent is a jQuery plugin that automagically makes your user generated content responsive. Video's, tables, images and maps, respontent'll make it fit." />
        <title>内容分享详情 </title>

        <script src="http://www.jq22.com/jquery/1.9.1/jquery.min.js"></script>
        <script type="text/javascript" src="js/layout.js"></script>
        <script type="text/javascript" src="js/jquery.respontent.min.js"></script>




        <link type="text/css" rel="stylesheet" href="css/normalize.css" />
        <link type="text/css" rel="stylesheet" href="css/style.css" />
        <link type="text/css" rel="stylesheet" href="css/layout.css" />
        <link type="text/css" rel="stylesheet" href="css/jquery.respontent.css" />

    </head>
    <body>
    <jsp:useBean id="student" class = "com.yiibai.utils.ShowShareJavaBean" scope="session" ></jsp:useBean>
    <%
    ShowShareJavaBean showshare1=new ShowShareJavaBean();
    String title=showshare1.getTitle();
    String content=showshare1.getContent();
    String img1=showshare1.getImg1();
    String img2=showshare1.getImg2();
    String img3=showshare1.getImg3();
    System.out.println("2"+title);
    System.out.println("2"+content);
    System.out.println("2"+img1);
    System.out.println("2"+img2);
    System.out.println("2"+img3);

%>


        <nav>
            <ul>

                <li><a href="#examples">Examples</a></li>

                <li><a href="#about">About</a></li>
            </ul>
        </nav>



        <div id="wrapper">
        <section id="about">


                <div class="explanation">

                    <h3><span> <jsp:getProperty name="student" property="title"/> </span></h3>
                    <p class="text"><%=content%></p>
                </div>
            </section>
          <section id="examples">
              <div class="example">
                    <h3><span>Images</span></h3>
                    <div>
                        <div class="w">

                          <img src=<%=img1%> width="500" height="290"/>
                        </div>

                        <div class="wo">

                          <img src=<%=img2%> width="500" height="290"/>
                        </div>
                        <div class="w" >

                          <img src=<%=img3%>  width="500" height="290"/>
                        </div>
                    </div>
            </div>





          </section>



    </div>
    </body>
</html>

JavaBean代码

public class ShowShareJavaBean implements Serializable{

    public String title  ;
    public String content  ;
    public String img1;
    public String img2;
    public ShowShareJavaBean(){

    }

public ShowShareJavaBean(String title,String content,String img1,String img2,String img3){
        super();
        this.title=title;
        this.content=content;
        this.img1=img1;
        this.img2=img2;
        this.img3=img3;
    }


    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getImg1() {
        return img1;
    }
    public void setImg1(String img1) {
        this.img1 = img1;
    }
    public String getImg2() {
        return img2;
    }
    public void setImg2(String img2) {
        this.img2 = img2;
    }
    public String getImg3() {
        return img3;
    }
    public void setImg3(String img3) {
        this.img3 = img3;
    }
    public String img3;
}
0

4个回答

ShowShareJavaBean showshare1=new ShowShareJavaBean();
这里,你的showshare1是new出来的,而你execute()在里面才设置了属性,你又没有调用它,自然没有值

1
qq_34424362
qq_34424362 能取到数据就行
4 个月之前 回复
qq_34424362
qq_34424362 那应该怎么去改呢.
4 个月之前 回复

session是非常好用的

0

通过值栈 ActionContext context = ActionContext.getContext();ValueStack stack = context.getValueStack()
调用值栈对象中的set方法
stack.set("demo", "DemoData"); 也可以是put, 也可以给对象提供get方法,直接就会返回到值栈

0
u012976158
强化脑细胞 在页面用s:debug看值栈有没有你存的值,如果有,就是你表达式的问题,<s:property value="name"/> 这个需要看你是存的对象,还是直接存的属性
4 个月之前 回复
qq_34424362
qq_34424362 用${}拿不到值 ,用<s:property value="name"/> 直接报错。
4 个月之前 回复

你可以吧整个后台设置的数据全部装在session中,这样的话你在前台直接就可以用session里面的key点出点出你所需要的数据,如
request.getSession.setAttribute("show1d",show1d);(说明:双引号里面的show1d是key,而逗号外面的是你当前的整个数据),
这样你在前台用的话可以:“ src="${show1d.img1}" width="500" height="290"/。

ps:只是个人建议,无用请勿喷,谢谢!!

-1
qq_36942738
隔壁老陈你瞅啥 回复qq_34424362: 为什么会没有 ActionSupport好像是可以拿到request的 或者是在action上implements ServletRequestAware
4 个月之前 回复
weixin_43869661
殇洛 回复qq_34424362: ok,sorry
4 个月之前 回复
qq_34424362
qq_34424362 我这个不是servlet
4 个月之前 回复
qq_34424362
qq_34424362 类里都没有request 这个变量,调用不了
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用struts2的从页面和action的传值过程
使用struts2的从页面和action的传值过程 1.从页面中拿数据 1.新建一个jsp页面 ①写一个简单的表单 ②找到需要拿到表单数据的action,即通过配置xml来(这个要在第三步创建好) ③action路径为struts.xml中action中的name值,如果有分块的话, 还要找到package标签中的name属性...
Struts2把action中的值传递给jsp页面
第一种情况转发到jsp(1)对于action的类属性,直接为其赋值,然后在jsp页面中使用el表达式取出这个值${类属性名}。el的默认取值域就是request。Struts2会将action的所有带有get,set方法的属性自动的放入request域中。(2)对于在action方法中产生的数据,又不想在action类中定义对应的成员,我们可以手动将其存入request域中。        将数据...
Struts2中Action向JSP传递数据
今天上午,在Struts2中,Action向JSP的数据传递遇到了问题。我想把Action从后台数据库获取的一个对象的列表传到JSP页面,然后通过JSP页面进行显示。翻阅了好久,才找到了解决办法。Model很简单,只有简单的几个属性。当然,get/set方法是必须的。package com.sdkd.easybuy.model; import java.util.Date; /** * Ea...
Struts2中jsp前台传值到action后台的三种方式
Struts2中jsp前台传值到action后台的三种方式 struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: 用户名: 密 码: 1.在Action类中定义表单属性,两者属性名称必须一致。 提供setter,getter方法。即可接收到表单传过来的参数. 这种接收参
struts2配置文件中action如何向jsp页面传参数
最近,有需求需要传参数到jsp页面,但是不知道该如何传参数到jsp页面!!!   废话少说,贴代码。。。。   是加上&amp;lt;param name=&quot;&quot;&amp;gt;&amp;lt;/param&amp;gt;标签? 我想像下面这样写: &amp;lt;action name=&quot;singer_*&quot; class=&quot;singerAction&quot; method=&quot;{1}&quot;&amp;gt;           &am
Struts2的Action向JSP传输List集合并且将数据显示在页面上
1、当类型是List&amp;lt;String&amp;gt;时  Action中代码: List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;(); list.add(&quot;zhangsan&quot;); list.add(&quot;lisi&quot;); list.add(&quot;wangwu&quot;); ..
Struts2 之 Action类与 jsp 页面的数据交互
使用Struts2标签,需要先在页面中引入Struts2标签库:(标签库的位置在struts2-core-2.3.1.2.jar包中) %@ taglib prefix="s" uri="/struts-tags" %> * Action 类接收数据的三种方式     1.使用Action属性接收    2.使用DomainModel接收    3.使用Mod
关于struts2页面传值后,不能进入action和不能传值的原因
昨日在开发中遇到了个关于struts2的问题,页面string数据传值到dto对象中,一直传不过去,能进action,却进不了方法,后来换成赋值给string类型,才能进方法。检查得知,是dto对象中的那个属性数据类型不是string类型,在dto里加了个string类型的属性得以解决。   jsp不能进入action里原因:       1.jsp页面提交方法有问题(包括  jsp页面提交...
SSH中JSP页面传值到action出现中文乱码的情况
SSH中jsp页面传值到action出现中文乱码的情况
Struts2之前台表单传值到后台Action方法总结
在正式讲解之前,先交代一下项目版本,Struts2的版本是struts-2.3.30稳定版本,至于如何快速搭建以及正确的选择Struts2必要的Jar文件,以struts-2.3.30为例,首先建议大家直接从官网直接下载struts-2.3.30.zip文件,解压缩后,会得到如下所示目录结构: 在apps目录里面有五个Struts2官方的项目案例,既然是官方案例,肯定是能够正常运行的,找
struts2中将jsp页面上取到的值与后台action中取的值进行比较
jsp页面上通过属性工具类,取到了decis1、decis2两个变量的值struts迭代器从后台去到了matterList,如果里面的matter对象属性nodeId的值与decis1、decis2中任何一个值相等,则这条数据被过滤掉,不用遍历出来。也就是说,matter.nodeId与decis1、decis2进行比较(关键部分在第38行)。代码如下:&amp;lt;%@ page import=&quot;co...
struts2 从一个action到另一个action传参的问题!
           //针对订单修改之后返回当条订单 HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); request.setAttri...
Struts2的简单使用(四)action向页面传值
在这里我要说一下在action中怎么向页面传值~ 在action中依然可以像以前在servlet里面一样,使用request、session、application向页面传送值,除此之外,action里面还有俩个独有的传值方式:ValueStack  ActionContext 一,先来说说这俩个独有的传值方式~ 1.ValueStack的特点(值栈): 1.把一个对象放到vs里面
struts2的s:iterator标签在jsp页面获取action中数组对象
在昨天的开发过程中,需要在jsp页面获取action中的数组对象的值,技术水平有效,开始觉得无从下手,后来想写入java程序片,抱着试试看的心态打出了  发现页面显示出了数组中的每一个元素,想逐个获取每个元素就想到的标签代码: action: String [] filenames = null; File file = new File(filePath); filenames = fi
struts2 action获取jsp参数的三种方式
struts2 action获取jsp参数的三种方式本文通过实例解析action从jsp获取参数的三种方式。一. 列表内容、通过get set方法获取 在对应的action类中定义了同名变量,并且生成了set get方法,那么参数将会自动获取变量的值。这里写代码片 Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离
Struts2 使用域模型给action传递参数以及DTO
域模型: 以用户登录为例: 定义一个User类对象us,设置其中变量信息,getter和setter。在LoginAction类中申明一个user类对象(不需要new,Struts2会自行new出一个对像),以及user的getter和setter。 在用户登录的jsp页面中,提交信息为:us.XXX,XXX为user类中成员变量的名字:如us.userName. User类代码:
Ajax+Struts2不能获取到js中传给action的变量的解决方法
师兄今早上给提了要求,需要及时验证用户注册时的用户名是否与已存在的重复,并且建议用ajax实现。虽然师兄给了一段Demo,但是没太看懂,师兄又给讲了一遍,我和另外一个同学调了半天,都没有仿写成功。晚上和师兄找个半天的错,原来是因为我一步多余的操作,使得整个程序卡在了一个点上。 function GetQianTaiNeiRong() { var info = $("#idDepartmen
Struts2如何传值到JSP页面
不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值。所以,有两种方法1,获取的是action属性的值,用struts2标签和ognl即可获取如, 这种形式2,获取的是范围内的值直接使用EL表达式如${name}为requestScope范围绑定的名为name的属性,省略requestScope因为
Struts2 如何在两个 action 间传递参数
在使用了struts2的网站中,我要实现这样一个功能: 在一个页面中发布一条句子,然后立刻跳转到该句子的显示页,这就牵涉到两个action之间的跳转传参问题(我第二个action必须知道前一个action传过来的句子id才能显示正确的页面) 实现方式网上说的都不太清楚,其实很简单,首先在第一个页面将要传的参数定义为一个属性(即包好了get和set方法) 如下代码假设是传id: ...
struts2中的jsp页面通过iterator调取后台action中的list集合
jsp页面: 数据展示                                                                                   action页面: package com.market.action; import java.text
Struts2 实现JSP页面之间的传值
一、定义实体类:package cn.bamount.converter; public class User { public Integer id; public String userName; public java.util.Date createTime; public Integer getId() { return id; } public void setI
在struts中,通过Ajax,利用jQuery,将action中的数据转到前台页面
第一步、配置Struts(注意,返回的数据类型为json数据,) <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
Struts2常用标签的使用以及Action传值
为了学习struts2框架,这次练习完成了一个简单的功能,希望能够在struts表单标签的使用以及传值方面能够对大家的学习起到参考作用。 项目功能 项目的功能是在提交页面输入个人信息之后点击提交跳转到一个新的页面,新的页面会显示之前所填写的个人信息。 开发环境和工具 已配置最新版Java开发环境的Windows系统、MyEclipse 2014/2016
SSH框架/JSP Servlet 从Action中传递数据到JSP页面
使用 ActionContext进行传值: 例子:public String login({ if(this.userService.loginUser(user)==null||this.userService.loginUser(user).size()==0) { return "fail"; } else{
[JavaEE]Struts2路径问题(如何在jsp页面正确访问struts.xml中的action)
(这是struts.xml,主要是看路径,至于到底执行了什么无需知道) (这是jsp页面。主要看action路径) 基于上面,点击运行。可以由jsp页面(即上面这个)跳转到action处理,action处理结束后,会跳到另外一个页面(没给出)。 查看运行时的路径名为 http://localhost:8080/工程项目名/test/index 下面举几
在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
[b]第一种方法:获取结果String类型[/b] 在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。 所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。 以下是实现的代码: 前台 HTML 代码: ...
struts2的action重定向到另外一个action如何传参数
当我们在某个action完成后,通常都要重定向到另外一个action,这时可以这样传参数: [code=&quot;xml&quot;] tick_edtImage /vector/tick ${tickId} [/code] &quot;actionName&quot;指明要从定向到的action名称; &quot;nameSpace&quot;指明命名空间 &quot;tickId&quot;是要传递...
Struts2使用ActionSupport类传递提示信息到前台页面并获取显示
/** * 删除用户信息 * * @return * @throws Exception */ public String delete() throws Exception { List&amp;lt;String&amp;gt; userIds = new ArrayList&amp;lt;String&amp;gt;(); for (String id : choo...
Struts2 jsp页面url访问查Action中对应指定方法
①:http://localhost:8080/PractiseStruts/loginAction!login.action; ②:http://localhost:8080/PractiseStruts/loginAction.action?method:login=xxx; ③:struts2的配置文件的action标签中存在一个method属性,用来指定访问特定的方法      
Struts2从一个带参数action跳转到另一个action
资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验总结,欢迎各位技术人员下载参考使用
struts2中如何利用链接来传递对象到action中
在struts2中,如何利用链接来传递对象到action中,以便完成客户端到服务器端的对象传递~
在Action中使用request接收Struts2传递的参数
//通过request接收网页传过来的参数 public String execute(){ //获得HttpServletRequest对象 HttpServletRequest request = (HttpServletRequest)ActionContext.getContext() .get(org.apache.struts2.StrutsStatics
Struts2中action重定向跳转到jsp页面两种配置方式带参数
Struts2中action重定向跳转到jsp页面两种配置方式带参数
关于Struts2 中action接收不到 网页传值问题
做struts2作业写书籍的增删改查,运用JDBC连接数据库,在写到通过id删除一条记录时,遇到了下列问题 代码如下,模型就不上代码了 &amp;lt;body&amp;gt; &amp;lt;table border=&quot;1px&quot;&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;ID&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;书名&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;价格
struts2使用ajax实现页面和action之间通过json数据交互
要在struts2中使用json数据交互,需要导入以下包 当然,struts2应用核心包也要导入
struts2学习笔记2----参数传递,一个Action类中有多个方法时的指定调用
1.若传输路径上带参数,则在action中定义一个属性名为参数名的属性,且加上get,set方法,如:    &amp;lt;a href=&quot;&amp;lt;%=path%&amp;gt;/hello.action?username=TOM&quot;&amp;gt;跳转欢迎界面&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;则在Action类中有:private String username;和其对应的get,set方法就可以在action中...
jsp页面向action传值乱码的问题
JSP页面向action传值时中文乱码的问题,记得以前做项目的时候出现过,后来我到网上搜索了一系列的资料,把所有别人说要加的条件都加上去,稀里糊涂就解决了。最近做一个项目,又遇到这个问题,我决定试一试究竟需要注意哪几点就可以解决乱码的问题。下面是我的结论。         1> 在页面首行         2> 将此句加上。这句的意思是文档类型为html,  我试过,如果这句不加,有时候没问题
Struts2-action到jsp传值(传递查询到的所有数据)
思路: 1、action获取到数据,封装成list 2、通过ACtionContext或者Request将list放入其中 3、在jsp页面读取 底层的代码这里不讲述了,用的是mybatis与spring Action代码: package com.bs.view.action; import java.io.UnsupportedEncodingException;
Struts2标签: 三种给<s:a>,<a>标签传值的方式
[code=&quot;struts2&quot;] : 添加 | //第一种方式,在标签内使用标签时用% 编辑 | //第二种方式:使用标签解决 删除 ...
struts2之action跳转到别的action同时传递参数
struts2 的action跳转到别的action时,可以使用redirectAction 如: ./pages_crm/crm_cust 如果还需要传递参数: 可以这样:    ./pages_crm/crm_cust                                    ${customerId} 在hrEmploye