大家都知道struts2 的action类中的属性,会有对应的getter ,setter方法。以此来注入参数和输出属性值。。我想问:例如
public class MyAction{
   private String name;
   
   public String execute(){return "success";}
   //省略 getter setter
}有jsp页面。。MyJsp.jsp<%
    String namex=???????;////
    out.println(namex);
%>
如何将MyAction.java中的name属性值,传递给MyJsp.jsp中的namex变量????我知道,jsp页面中可以使用struts2标签或者${name}输出name属性的值。但是,我不想那么做。因为在这个页面中实在是有必要直接在页面中嵌入java<%  %>代码...。真的有必要明白吗???

解决方案 »

  1.   


    public class MyAction{
      private MyBean myBean;
        //省略 getter setter
      public String execute(){return "success";}
      
    }public class MyBean {
      private String name;
        //省略 getter setter
        
    }//jsp上面
    ${myBean.name}
    希望楼主能成功
      

  2.   


    无语。你看明白问题,行吗?不过谢谢你顶帖
    我要的是使用<%   out.println() ;%>输出明白否???不用${}也不用struts2标签。也别跟我说MVC什么的
      

  3.   

    我不知道你要的效果是什么样的。request.get("name");
      

  4.   


    放到session 或者request範圍內存起來就可以。
      

  5.   


    <%@page import="com.test.model.User" %>
    <% String userCode = ((User)request.getAttribute("user")).getUserCode();
    System.out.println("userCode--------" + userCode);
    %>我的这个是在action中声明了一个IssueUser对象,可以取到值,你可以参考一下。
    你的应该可以这样(仅仅猜测,不过可以试一下,原理应该是一样的):<%@page import="java.util.*" %>
    <% String namex= request.getAttribute("name");
    System.out.println("name--------" + name);
    %>
      

  6.   

    打印的应该是System.out.println("namex--------" +namex);一时不察写错了,呵呵 
      

  7.   

    ActionContext ctx=ActionContext.getContext();
    ctx.getRequest().setAttribute("name",name);
    jsp:String name = (String)request.getAttribute("name");
    out.print(name);struts2没怎么用过,我试试这样行不
      

  8.   

    简单,你只是想在页面中写java代码,action中的Xname属性己在在request域里,myjsp.jsp页面上只需要这样调用
    <%String s = request.getAttribute("xname");%>
    好吧,也许你会说,这样能取到吗,那再干的安全点
    在你的action里写上request.setAttribute("Xname",Xname);
     当然只要你的struts2的success指定页面是myjsp.jsp.,如果不是,请把值扔session里
      

  9.   

     Action 中ActionContext.getContext.getRequest().put("name",name)
     
     jsp 中requestScope.get("name");