小编sin*_*air的帖子

Shiro:无法使HttpSession无效

我有一个Shiro会话(id = 11111)和一个http会话(id = 22222).

当我尝试使HttpSession无效时,使用了错误的id.

码:

public void logout() {
      SecurityUtils.getSubject().logout();

// exception is thrown in this line
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
    }

例外:

java.lang.IllegalStateException:
 org.apache.shiro.session.UnknownSessionException:
 There is no session with id [22222]

如何使HttpSession无效或者设置正确的ID?

session java-ee httpsession shiro

7
推荐指数
1
解决办法
419
查看次数

从Primefaces特定小部件覆盖方法

我想覆盖Primefaces数据表组件的功能.根据这个问题:如何基于widgetVar在Primefaces组件中查找和/或覆盖JavaScript?它可以通过使用PrimeFaces.widget.DataTable.prototype..但我想只为一个数据表覆盖此函数,而不是所有.

这不起作用:

<p:dataTable widgetVar="myTable" ...>
</p:dataTable>
....
<script type="text/javascript">
       $(document).ready(function(){
           if (PF('myTable') !== undefined) {
                PF('myTable').jq.datatable({
                     showCellEditor: function (c) {
                         console.log('my function');
                     }
                 });
            }
         });
</script>
Run Code Online (Sandbox Code Playgroud)

这是应该怎么做或我完全错了?

javascript primefaces jsf-2

7
推荐指数
1
解决办法
2328
查看次数

使用xml或json作为参数的restful webservice

我有一个简单的问题,我一直在试图找到我办公室受限制的互联网连接,但无济于事.

1)如何在java中创建一个宁静的Web服务,最好使用接受xml和/或json作为参数的netbeans,以及如何处理它.

2)如何调用这些Web服务.我的意思是我们如何在网址中传递xml?或者还有其他方法吗?

如果我必须使用API​​,我更喜欢使用球衣.如果这个问题过于笼统,我很抱歉,但我需要在相对较短的时间内掌握所有相关知识.

java xml rest netbeans web-services

6
推荐指数
1
解决办法
4453
查看次数

通过将文件拖到页面的任何位置来实现JSF文件上载

我目前正在使用Primefaces fileUpload组件的拖放功能.它工作正常,但我想要的是通过将文件拖到我的页面的任何地方直接上传文件,而无需单击按钮.

我试过这个:

$('.dropzone').on({
    'dragover dragenter': function (e) {
        e.preventDefault();
        e.stopPropagation();
    },
    'drop': function (e) {
        var dataTransfer = e.originalEvent.dataTransfer;
        if (dataTransfer && dataTransfer.files.length) {
            e.preventDefault();
            e.stopPropagation();
            $.each(dataTransfer.files, function (i, file) {

              uploadFile([{"name": "filename", "value": file.name}]);
            });
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

<p:remoteCommand name="uploadFile" action="#{bean.uploadFile()}" />
Run Code Online (Sandbox Code Playgroud)

public void uploadFile(){
   String filename = 
       FacesContext.getCurrentInstance()
       .getExternalContext().getRequestParameterMap().get("filename");
}
Run Code Online (Sandbox Code Playgroud)

问题是这适用于文件名,但不适用于文件本身.这是正确的方法还是有办法将files列表转发到Primefaces fileUpload并以编程方式提交文件而不使用gui-component?

jsf file-upload primefaces

6
推荐指数
1
解决办法
1132
查看次数