如何删除会话中存储的项目?

时间:2018-10-09 08:36:15

标签: coldfusion cfml

我在ColdFusion中使用了一系列结构。这是我尝试过的代码。谁能帮助我更正我的代码?

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        if (requestCode == 1) {
            if (resultCode == RESULT_OK) {
//                String pickedImage = data.getData().getPath();
                String dataString = getPath(this, Uri.parse(data.getDataString()));
                Log.i(TAG, "onActivityResult: pathholder " + dataString);
                File file = new File(dataString);//
                FileInputStream fis = null;
                Log.i(TAG, "onActivityResult: file " + file.getName());
/**if you get the uri(path) then add this following code that i given below*/
                try {
                    fis = new FileInputStream(file.getAbsolutePath());
                    InputStreamReader isr = new InputStreamReader(fis);
                    BufferedReader bufferedReader = new BufferedReader(isr);
                    StringBuilder sb = new StringBuilder();
                    String line;
                    while ((line = bufferedReader.readLine()) != null) {
                        sb.append(line).append("\n");

                    }
                    Log.i(TAG, "onActivityResult: pathholder " + sb.toString());
                } catch (IOException e) {
                    e.printStackTrace();
                }



            }
        }
    }

2 个答案:

答案 0 :(得分:2)

由于您正在使用购物车。我想您将产品存储为结构数组,并在结构中存储了产品的详细信息。 如果您要从购物车中删除产品,则代码将如下所示

<cfset ArrayDeleteAt(session.arrCart,form.productsequenceincart) />

例如,如果有人单击了第三种产品的删除按钮,则上面的代码将执行此操作-

<cfset ArrayDeleteAt(session.arrCart,3) />

它将从购物车数组中删除第三种产品。

我们不需要遍历产品。

答案 1 :(得分:1)

如果您尝试从会话中删除“购物车”键,则可以执行以下操作:

<cfset StructDelete(session,'cart')>

但是,您处于只读锁中,因此您需要将其更改为排他锁,或者不使用锁...取决于情况的合理性。

StructDelete Docs