2014-01-22 52 views
1

对不起我的英语。 我有一个参数,我jsp命名的动作,我得到它,并把它也被称为行动,因为我需要它在我的servletvalue =“<%request.getParameter%>”不起作用

<input type="hidden" name="action" value="<%request.getParameter("action"); %>" /> 
<input type="submit" value="Suivre" /> 

所以,当我打印此的另一个参数:<%out.println(request.getParameter("action")); %>。我得到了值,但在servlet中,结果如下所示:String action =“”;

String action = request.getParameter("action"); 

问题在哪里?感谢

编辑:为@arjuncc和@Neuron说我将其更改为value=<%=request.getParameter("action")%>,它的作品,但我有一个/在字符串的结束动作加入,我会用字符串为它工作,感谢每一个机构,特别是@arjuncc和@Neuron

+0

什么是你的问题? – Keerthivasan

回答

0

您更好地使用<%=的request.getParameter( “行动”)%>,而不是 <%的request.getParameter( “行动”)%>

+1

它的工作原理,但我最后加了一个“/” – user3041570

0

在第一次看

变化以下

"<%request.getParameter("action"); %>" 

到(不含引号)

<%request.getParameter("action"); %> 
+0

没有工作,我得到的行动=“/” – user3041570

1

一般应该避免脚本。使用JSP EL:

<input type="hidden" name="action" value="${action}" /> 
+0

我正在学习JSP,所以告诉我现在我仍然不知道关于EL – user3041570

+0

我的意思是我是初学者,我知道他们是JSP,但我仍然没有得到那么多 – user3041570

+1

开始是学习最佳实践的最佳时间。你为什么不尝试制作一个包含你正在使用的相关文件的GitHub Gist,比如web.xml,.jsp文件和任何servlet。这将帮助他人回答你的问题。 –

0

您可以使用JSP表达式<%= .... %>=(不推荐方式)后

<input type="hidden" name="action" value="<%=request.getParameter("action"); %>" /> 

不要写小脚本在JSP,因为小脚本不该在JSP中使用超过十年。了解JSP ELJSTL,并将Java代码使用servlet。 How to avoid Java Code in JSP-Files?

<input type="hidden" name="action" value="{param.action}" /> 
2

我强烈建议你使用Expression Language,有很多问题,使用小脚本like

  • 重用性:你不能再使用小脚本。
  • 可替换性:不能使脚本抽象化。
  • OO能力:你不能使用继承/组合。
  • 可调试性:如果scriptlet中途抛出一个异常,你得到的只是一个空白页面。
  • 可测试性:scriptlet不是单元可测试的。
  • 可维护性:每个saldo需要更多的时间来维护混合/混乱/重复的代码逻辑。

与您的代码的问题是,你已经在你的代码,它假设提供插入JSP中的Java代码的能力,使用的scriplet <% %>。为了打印的东西在你的页面,你必须使用JSP expression tag<%= %>

<input type='hidden' name='action' value='<%=request.getParameter("action") %>' /> 
<input type="submit" value="Suivre" /> 
相关问题