当前位置:编程学习 > JAVA >>

问个简单的问题,关于struts2的

大家都知道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<%  %>代码...。。。。真的有必要。。。明白吗??? --------------------编程问答--------------------

public class MyAction{
  private MyBean myBean;
    //省略 getter setter
  public String execute(){return "success";}
  
}

public class MyBean {
  private String name;
    //省略 getter setter
    
}

//jsp上面
${myBean.name}




希望楼主能成功 --------------------编程问答--------------------
引用 1 楼 mainstream_code 的回复:
Java code

public class MyAction{
  private MyBean myBean;
    //省略 getter setter
  public String execute(){return "success";}
  
}

public class MyBean {
  private String name;
    //省略 getter sett……




无语。。。。你看明白问题,行吗?不过谢谢你顶帖。。。
我要的是使用<%   out.println() ;%>输出。。。明白否???

不用${}也不用struts2标签。。。。也别跟我说MVC什么的。。。

--------------------编程问答-------------------- --------------------编程问答-------------------- 我不知道你要的效果是什么样的。request.get("name"); --------------------编程问答--------------------
引用楼主 juningxia5 的回复:
大家都知道struts2 的action类中的属性,会有对应的getter ,setter方法。以此来注入参数和输出属性值。。

我想问:例如
public class MyAction{
   private String name;
   
   public String execute(){return "success";}
   //省略 getter setter
}……


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

--------------------编程问答--------------------

<%@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);
%>
--------------------编程问答--------------------
引用 4 楼 jiangfullll 的回复:
我不知道你要的效果是什么样的。request.get("name");

是request.getAttribute("name"); --------------------编程问答-------------------- 打印的应该是System.out.println("namex--------" +namex);一时不察写错了,呵呵 
--------------------编程问答-------------------- request.getAttribute("xname"); --------------------编程问答-------------------- ActionContext ctx=ActionContext.getContext();
ctx.getRequest().setAttribute("name",name);


jsp:

String name = (String)request.getAttribute("name");
out.print(name);

struts2没怎么用过,我试试这样行不 --------------------编程问答-------------------- 简单,你只是想在页面中写java代码,action中的Xname属性己在在request域里,myjsp.jsp页面上只需要这样调用
<%String s = request.getAttribute("xname");%>
好吧,也许你会说,这样能取到吗,那再干的安全点
在你的action里写上request.setAttribute("Xname",Xname);
 当然只要你的struts2的success指定页面是myjsp.jsp.,如果不是,请把值扔session里
--------------------编程问答--------------------  Action 中ActionContext.getContext.getRequest().put("name",name)
 
 jsp 中requestScope.get("name"); --------------------编程问答--------------------
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,