Tag: url parameters

如何从URL中提取参数,无论其编写方式如何?

我想要一种java方法来提取URL的参数,无论这些参数是如何写入其中的,都是常规方式,如( https://www.facebook.com/Doly.mohamed.Smile9?ref=stream&hc_location=stream )这很简单,因为我所要做的就是: URL url = new URL(“www.blabla….etc”); String query = url.getQuery(); try{ String [] params = query.split(“&”); for(int i= 0 ; i < params.length; i++){ String [] split = params[i].split("="); parameters.put(split[0], split[1]); } }catch(NullPointerException ex){} 所以参数值是: key = ref value = stream , key = hc_location value = stream 但是,如果URL具有以其他方式编写的参数,或者如果URL没有像doPost()方式那样在其中写入参数,我该怎么办? 有没有办法从URL获取extraPathInfo而不使用servlet?

维护行动变量的值?

class SampleAction extends ActionSupport { private Map circleIdNameMap; public String preprocess(){ –logic for populating value of MAP } –getters and setters } 现在我的问题是页面加载我调用preprocess函数并填充Map的值。 在页面提交之后调用另一个方法,在此之后,在一些数据库交互之后,它会重定向到JSP,但这次Map值为空。 我在Struts2中使用这个Map for drop-down标签。 我的preprocess在链接中关联,如: href=”/gma/preprocessConfigureTspThreshold?operatorId=5102&sessionId=12332″‌`​ 因此,只有在第一次单击链接时才会调用preprocess ,之后当我重定向到我的JSP时,因此它不被调用,所以第二次Map值为空。 我应该将地图放在会话中以便保留吗? 或者可以做点什么? 我读过不使用preprocessfunction,使用Preparable接口。 但按照文档: struts 2框架的准备拦截器将始终调用prepare方法 每当为Action类调用任何方法时。 因此,每个方法都会调用它。 我希望只在页面加载时调用preprocess 。

Struts 2请求参数validation(Int和字符串)

假设我在这里有这个URL ${user.userId} My Profile 其中参数id只有一个int值。 所以在我的Action类中。 public class ViewProfileAction extends ActionSupport{ public String execute(){ //someServiceLayer.getUser(id); return “success”; } public int getId() { return id; } public void setId(int id) { this.id = id; } private int id; } 只要用户点击链接,一切似乎都顺利,所以如果用户点击链接,url将是这样的 localhost:8090/HelloStruts2/profile?id=1 但是如果用户直接操纵URL怎么办? 他手动在浏览器中输入一个字母或一个字符? 喜欢这个 localhost:8090/HelloStruts2/profile?id=b 如果用户这样做,我确信会有exception或发生错误。 我的问题如何validationURL参数? 或者如果用户做了这样的事情(在参数id输入了一个字母或一个负数),我会将他重定向到另一个页面。

如何创建隐藏其参数的Wicket URL?

我目前正在创建一组包含以下代码的链接: BookmarkablePageLink havarti = new BookmarkablePageLink(“havarti”, CheeseMain.class); havarti.setParameter(“Title”, “Havarti”); havarti.setParameter(“Group”, “cheeseName”); add(havarti); 出来的url格式为https://mysite.com/;jsessionid=B85EE5CB0349CCA2FE37AF76AB5C30C1?wicket:bookmarkablePage=:com.mycompany.cheese.CheeseMain&Title=Havarti&group=cheeseName 。 我的问题是我不再希望此链接的URL是可collections的。 理想情况下,我希望它像https://mysite.com/cheese一样简单,但我可以使用丑陋的URL。 重要的是参数不可见。 我应该如何改变我生成链接的方式? 我查看了Wicket提供的不同URL编码策略,但没有一个删除参数; 他们只是以不同的方式展示

使用param标记抑制空参数

我编写了JSP,我使用了许多操作。 它有一个参数链接 链接: 动作类: public class ViewAction extends ActionSupport { private Long purpose; private Long type; private String name; public Long getPurpose() { return purpose; } public void setPurpose(Long purpose) { this.purpose = purpose; } public Long getType() { return type; } public void setType(Long type) { this.type = type; } public String getName() { […]

Struts 2 – 使用嵌入式URL发送邮件

对于我公司的项目,我必须发送包含嵌入式URL的电子邮件,系统将提示用户遵循这些URL。 例如,一个人在网站上注册,然后Struts2应用程序向该人发送一封电子邮件,其中有一个URL来确认订阅。 到目前为止,表单提交和发送电子邮件(从操作内部)工作得很好。 我遇到的问题是我无法找到一种方法来生成我想要嵌入邮件正文的URL。 我必须以错误的方式做到这一点,但我正在考虑以下内容: public String send() throws Exception { StringBuffer body = new StringBuffer(); HashMap params = new HashMap(); params.put(“id”, “xxxxxyyyyyaaaaa”); body.append(“Veuillez vous rendre ici :”); body.append(UrlManager.getUrlForAction(“action”, params)); SendMail sendMail = new SendMail(); sendMail.send(“me@me.fr”, “Information”, body.toString()); return SUCCESS; } 使用方法getUrlForAction()获取getUrlForAction()框架可以提供的东西getUrlForAction() ,获取操作及其参数作为输入,并输出包含相应URL的String(如http://mysite.mycompany.com/confirm?id=xxxxxyyyyyaaaaa )。 有没有人有任何想法或指示如何做到这一点? 编辑: 我尝试使用UrlProvider ,但我在determineActionUrl调用上得到一个空指针exception。 也许我以错误的方式使用它。 HashMap params = new HashMap(); params.put(“id”, […]

在Struts 2中传递URL中没有查询字符串的参数

我喜欢使用host/ActionName/123/abc/这样的URL,而不是像host/ActionName?parm1=123&parm2=abc那样传递查询字符串host/ActionName?parm1=123&parm2=abc 。 我怎么能在Struts2中做到这一点? 我完成如下。 但它不起作用,显示500错误代码 {1} views.jsp

使用response.sendRedirect()传递隐藏参数

我如何传递隐藏的参数? 我想调用一个页面(test.jsp),但也传递2个隐藏参数,如post。 response.sendRedirect(“/content/test.jsp”);