【发布时间】:2012-02-15 10:57:13
【问题描述】:
我的 JSF 表单带有大约 15 个复选框 和一个提交按钮。我可以单击全部或仅选择几个复选框,然后提交表单。
使用 javascript 函数,我得到我点击的复选框值并将它们连接到一个字符串;例如checkbox1=IC&checkbox2=S
这个值被发送到我的 java 类。我想在 Oracle 的存储过程中传递复选框值。
请注意,字符串可以包含 1 个复选框到所有 15 个复选框的值。存储过程应该能够应付我得到的值的数量。
示例:
checkbox1=IC&checkbox2=S 或 checkbox1=IC&checkbox2=S&checkbox3=I&checkbox4=Sa&checkbox5=f&checkbox6=g&checkbox7=h&checkbox8=i&checkbox9=q&checkbox10=e&checkbox11=t&checkbox12=p&checkbox13=89&checkbox14=100&checkbox15=2012
关于如何编写存储过程的任何想法?
感谢您的耐心和回答。
【问题讨论】:
-
您是否有理由不能只为未选中的框传递空值,并让程序根据需要解释这些值?在 Java 方面,这似乎比具有默认值的命名参数更容易,因为您必须更改每个组合的调用。不知道我是否遗漏了什么。
-
@AlexPoole 这些复选框是动态的,所以事先不知道要生成多少个复选框
-
但是您知道所有可能性,对,否则 proc 怎么知道如何处理这些值?如果您的 proc 有 15 个参数,您可以只发送您显示的框的值并从中获取值吗?
-
您也可以发送一组值,或者如果您事先不知道参数 - 如果这些框是从表驱动的配置动态生成的 - 一组参数/值对。我认为需要查看您的流程的更多细节以了解最合适的方法。
-
或者只是将字符串作为参数传递,并在 PLSQL 中的
&字符上标记字符串的结果?不过,在 Java 中进行字符串操作会更容易。
标签: java oracle jsf stored-procedures