【问题标题】:How to redirect the value in `<s:property/>` of one jsp page to the `<input type="text"/>` of another jsp page..?如何将一个jsp页面的`<s:property/>`中的值重定向到另一个jsp页面的`<input type="text"/>`..?
【发布时间】:2012-07-16 05:30:01
【问题描述】:

如何将一个jsp页面的&lt;s:property/&gt;中的值重定向到另一个jsp页面的&lt;input type="text"/&gt;..?

我有两个 jsp 页面:一个.jsp 和两个.jsp

一个.jsp:

 <%@taglib prefix="s" uri="/struts-tags" %>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Jsp - one</title>
        </head>
        <body>
            <h1>One JSP</h1>
             <s:iterator value="u" begin="0" end="0">
    <s:property value="uid" />
</s:iterator>
             <a href="two.jsp">Go to two.jsp</a>
        </body>
    </html>

两个.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Jsp - two</title>
    </head>
    <body>
        <h1>Two JSP</h1>
         <input type="text" id="two" name="two" value="<%=request.getParameter("uid")%>" /> //in this textfield i want the value of <s:property/> of one.jsp. But i am getting "null" in it.
         <a href="one.jsp">Go to one.jsp</a>
    </body>
</html>

请注意:one.jsp 正在使用 struts2 taglib,&lt;s:property/&gt; 的值是从一个返回一些列表 u 的操作类中获取的,列表 u 的类型是 users,它具有唯一的 @ 987654329@。我已经正确地完成了数据库中类和表的映射。而 two.jsp 没有使用任何 taglib。 two.jsp 与数据库或taglib 无关。它只有一个来自 one.jsp 的链接。 在 two.jsp 的 &lt;input type="text"&gt; 中,我想要 one.jsp 的 &lt;s:property/&gt; 的值。但我得到了"null"。 请提供一些方法来获取它。

【问题讨论】:

  • 您在第一页有一个 uid 列表,想把它们都放在第二页的输入中吗?我想不是。看起来您想要选择其中一个值并将其传递给页面。所以使用 而不是 并像往常一样传递选定的值。将表单添加到您的页面并使用提交而不是链接或使用一些 javascript 并将选定的值添加到 href 或任何内容
  • 感谢您的评论并指出我的需要。你是对的,我只需要列表中的第一个值。所以我在 标签中使用 begin="0" end ="0" 进行了编辑。正如你所说的使用 那么如何从返回列表'u'的动作类中获取值..?有没有办法对 做同样的事情然后请分享。
  • one.jsp 上,您可以将您的值和a 标记放到一个表单中,然后您应该在第二页访问您的值。

标签: jsp struts2 taglib


【解决方案1】:
<s:iterator value="u" begin="0" end="0">
     <a href="two.jsp?uid=<s:property value="uid"/>">Go to two.jsp</a>
</s:iterator>

或者

<s:iterator value="u" begin="0" end="0">
   <s:set var="valToSend" value="uid" />
</s:iterator>

<a href="two.jsp?uid=<s:property value="valToSend"/>">Go to two.jsp</a>

【讨论】:

    【解决方案2】:

    好的。

    1 您不想从列表中选择 uId,您需要将第一个 uid 传递到第二页:

      <body>
        <h1>One JSP</h1>
        <a href="two.jsp?uid=<s:property value="u.get(0)"/>">Go to two.jsp</a>
      </body>
    

    2 你想从列表中选择 uId

    <body>
      <h1>One JSP</h1>
      <form action="two.jsp">
        <s:select name="uid" list="u" listKey="uid" listValue="uid"/>
        <input type="submit" value="Go to two.jsp"/>
      </form>
    </body>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-15
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 2013-12-13
      相关资源
      最近更新 更多