执行操作并在需要时请求签名

时间:2011-10-12 12:13:49

标签: java jsf jsf-2 composite-component

我正在尝试开发一个组件,其中需要用户签名以完成某个操作,这里是序列:

  1. 用户点击commandButton或commandLink。
  2. 弹出窗口打开,要求用户输入用户名/密码
  3. 如果用户输入正确的用户名/密码,则执行原始操作。
  4. 如果用户输入错误的用户名/密码或点击取消按钮,则不会发生任何事情。
  5. 最后,当行动真正执行时,签名信息应该可用。
  6. 注意:解决方案应该是一个复合组件,应具有以下结构:

    <myCC:confirm action="#{testMB.delete}" singatureType="deleteObject"/>
    

    我为实现此行为所做的是:

    1. 创建一个视图作用域托管bean SignatureMB 以使用属性(用户名,密码和signatureType)处理签名

    2. 创建了一个请求范围的托管bean #{testMB} ,其托管属性映射到#{signatureMB}

    3. 在我的复合组件 myCC:confirm 我创建了两个链接,一个outputLink将打开一个带有签名表单的弹出窗口,第二个是一个隐藏的commandLink,它将包含要提交的实际操作即#{testMB.delete}

    4. 发布签名表单,如果用户名/密码正确,弹出窗口将自行关闭并触发隐藏的commandLink的click事件。

    5. 最后在#{testMB.delete} 中,我将获得签名信息,并能够处理信息,完成后我将重置 signatureMB中的值

    6. 您对此实施有何看法?你认为有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

这是一个合理的实施和良好的起点。

您需要添加步骤4a来处理错误的用户名/密码逻辑

答案 1 :(得分:0)

隐藏链接部分是“松散链接:-)”成功验证后,您可以自动调用删除,用户是否真的需要再次单击才能删除?链接也可以动态呈现吗?