2012-08-02 46 views
1

我有一个安全问题,我不知道,如何在JSF中执行此操作。 在PHP中,我可以对表单提交作出反应,这是定义为POST,我只需要通过POST的值,所以没有办法通过GET从相同的名称字段获取值。JSF 2.0; MyFaces的;表单仅提交POST

例子:
字段名的形式:用户名
在我的PHP的网站,我可以通过$_POST["username"]获得价值,但不与$_GET["username"],因为我不执行GET方式,只有POST。

所以,现在我想在我的JSF网站也是这样。
问题是,我不仅可以对所有请求实施POST,还必须对GET做出反应。
我只想要,我的表单数据将通过POST发送到我的bean,而不是通过GET。

我该如何达到这个目标? 使用过滤器还是其他? 为了您的利益:我无法在我的应用程序中使用JavaScript。

非常感谢!

回答

3

我不知道我理解你的问题,但如果你只需要检查是否支持bean的方法是使用POST调用或让你能得到像这样从HttpServletRequest对象的信息:

@ManagedBean(name="myBean") 
    @ViewScoped 
    public class MyMBean implements Serializable{ 



    public void handleForm(){ 

     HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 

     if(req.getMethod().equalsIgnoreCase("POST")){ 

      //Handle your form data 
     } 
    } 
+0

看起来很完美!谢谢:-)我会尝试你的解决方案! – Tobi 2012-08-02 07:49:28

+0

太棒了,很高兴我能帮忙,让我知道它是否有效 – ufasoli 2012-08-02 09:25:23

+0

太简单了,但是它的功能就像是一种魅力:)非常感谢! – Tobi 2012-08-02 09:35:34