【发布时间】:2010-08-19 23:20:02
【问题描述】:
这是我的问题。
我需要设置一个进程,最好使用 jstl/jsp,根据客户端在 URL 参数中输入的内容,将返回某个 URL,并传递相同的参数,并通过 javascript 弹出功能打开.
我遇到的问题是,选择语句没有找到参数之一,除非它是开始参数之一。 (现在你的想法是,'嗯?')
客户端传递的参数列表,如下所示...
?name=personsname&email=personsemail&tmplatecde=7&legalid=20266998&photoURL=%2Favmedia%2Fweb%2Findex%2F25505893822%2EJPG&agentNumber=047666&FWSType=FR&des=,+CLU%AE,+ChFC%AE&postto=thenetwork.nmfn.com&agentnumber=047666&formname=FWSContactForm2&attr=FRSite
除了那个参数,我真的只需要'formname'。但是,如果我像这样输入查询字符串,这是客户端期望做的,它将找不到表单名。将 formname 参数移到 'name' 参数之前,它可以工作。
在我的公司,我们构建了一个自定义 JSP 标记,它可以简单地获取该查询字符串并将其附加到指定的 URL,但要确定该 URL,我还需要检查表单名称是否相等。
是否有人对解析字符串以获取该 formname 值的适当方法有任何想法?
到目前为止,我拥有的与此问题相关的代码是
<c:choose><c:when test='${param.formname == "FWSContactForm2"}' >
任何帮助将不胜感激。
【问题讨论】:
-
尝试将 formname 参数向左移动并测试直到它起作用。也许其他参数之一中的字符搞砸了?
-
当您到达 JSTL 和您的 JSP 页面时,查询字符串已经被 servlet 容器拆开。您应该通过弄清楚所有参数实际上是什么来进行调试,这可能会告诉您 URL 的哪一部分在语法上无效并导致 servlet 容器丢失尾随参数。
标签: javascript jsp jstl jsp-tags