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

求救菜鸟!jsp页面 给struts的action传值问题

在jsp里面有个变量a,我想把a的值通过<a href="login!showAll?name=a ">的方式提交给action。action中已经有变量name的get和set方法,请问?后面该怎么写才能接受到变量a的值? --------------------编程问答-------------------- 请问?后面该怎么写才能接受到变量a的值?  --------------------编程问答--------------------
引用 楼主 jlsgkid 的回复:
在jsp里面有个变量a,我想把a的值通过<a href="login!showAll?name=a ">的方式提交给action。action中已经有变量name的get和set方法,请问?后面该怎么写才能接受到变量a的值?

就是怎么才能把这个变量a给action额。。表达不是很清楚,就是问号后面的name=...怎么写? --------------------编程问答-------------------- 后台action里面直接就可以获取啊,不需要咋写的。

你直接syso(name)
输出的就是a
如果是中文的话,则需要转码。 --------------------编程问答--------------------
引用 2 楼 jlsgkid 的回复:
引用 楼主 jlsgkid 的回复:在jsp里面有个变量a,我想把a的值通过<a href="login!showAll?name=a ">的方式提交给action。action中已经有变量name的get和set方法,请问?后面该怎么写才能接受到变量a的值?
就是怎么才能把这个变量a给action额。。表达不是很清楚,就是问号后面的name=...怎么写?
     ……


a是变量。每次点击的时候都不一样额,比如第一次a="tom";第二次a="join";..我不是想传a,是想动态传a的值怎么弄额? --------------------编程问答-------------------- 前台jsp:<a href="login!showAll?name=a ">
后台:
public class Login extends ActionSupport{
public Stirng showAll{
    //TODO 
    Stirng name = request.getParameter("name");

}
web.xml配置文件中添加:
<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>

struts.xml配置文件:
<struts>

    <package name="default" extends="struts-default">
        <action name="login" class="包.类名" method="showAll">
            <result name="success">/success.jsp</result>
            <result name="error">/error.jsp</result>
        </action>
    </package>
    
</struts> --------------------编程问答-------------------- 上面的答案好像不够专业,
如果要改变变量a,只要在jsp界面搞一个文本框即可。。 --------------------编程问答-------------------- 楼主是想要name的值是动态的,如果你使用struts的话,那么这个值是你自己需要从一个action中传递过去的,比如你有一个转向页面的action中有一个name属性并有值,那么你就可以使用el或ognl表示示来获取这个值了;如:
<a href="login!showAll?name=<%=name%> "> --------------------编程问答--------------------
引用 7 楼 qq445422083 的回复:
楼主是想要name的值是动态的,如果你使用struts的话,那么这个值是你自己需要从一个action中传递过去的,比如你有一个转向页面的action中有一个name属性并有值,那么你就可以使用el或ognl表示示来获取这个值了;如:
<a href="login!showAll?name=<%=name%> ">
正解、 --------------------编程问答-------------------- Stirng name = request.getParameter("name"); --------------------编程问答-------------------- LS正解。。完全不需要 get  set方法的。。。中文注意转码 --------------------编程问答-------------------- 这么个小问题 纠结半天  --------------------编程问答-------------------- 每次点击时候,用JS得到a的值,然后在拼凑URL传给超链接,大概思路是这样 --------------------编程问答-------------------- private HttpServletRequest request=ServletActionContext.getRequest();
Stirng name = request.getParameter("name");  --------------------编程问答-------------------- JS

  function toPage(name){
     location.href="login.action?name="+name;
  }

action里面 如果是struts1 则用request.getParameter("name"); 
如果是struts2 则声明一个name的属性给get/set方法即可。

页面就直接调用这个JS,然后把你动态变化的值传到js里面就可以了。

只提供一个实现方式,具体要看楼主自己去实现了...  --------------------编程问答-------------------- action里面有name的get和set方法,直接用name这个参数就行了 --------------------编程问答-------------------- 如果你的变量a是通过js取得的那就用js拼一个url
function fun_url(){
  var a = "xxxx";
  window.location.href = "login!showAll?name="+a;
}
 <a href="javascript:fun_url()">

如果你的变量a是jsp的那就直接 <a href="login!showAll?name=<%=a%> "> --------------------编程问答--------------------
引用 9 楼 yulongde77 的回复:
Stirng name = request.getParameter("name");


补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,