如何获取输入隐藏字段的数据,其名称等于java中的方法和字符串

时间:2018-04-02 05:55:06

标签: java jsp

以下是带有表单的示例jsp页面。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="h.abc" %>
<%
    abc p = new abc();
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form action="abcd.jsp" method="POST">
            <input type="hidden" name="<%=p.getName()%>+'Name'" value='y'>
            <input type='text' name='<%=p.getName()%>' >
            <input type='submit' value='submit'>
        </form>
    </body>
</html>

这是&#39; h&#39;中的abc课程。 package.Please原谅命名。它仅用于说明目的。

public class abc {
    public String name="abc";
    public abc()
    {

    }
    public String getName()
    {
        return name;
    }
}

这是abcd.jsp目标页面。我试图获取输入字段的值。

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="h.abc" %>


<%
    abc p = new abc();
%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <% 
            String s = p.getName();
            out.println(request.getParameter(s+"Name"));
            out.println(request.getParameter(s));
        %>
    </body>
</html>

我无法理解为什么输入字段没有返回&#39; y&#39;作为它的值。它返回null。

2 个答案:

答案 0 :(得分:1)

更改第一个jsp中的代码

&#13;
&#13;
<input type="hidden" name="<%=p.getName()%>Name" value='y'> 
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您需要通过调用setAttribute(&#34; you_key&#34;,abcInstance)方法将您的abc实例放入HttpServletRequest&#39;属性中。然后你可以通过调用req.getAttribute(&#34; your_key&#34;)或使用el表达式来获取jsp页面中的abc实例