|
|
|
|
|
|
s*******1 发帖数: 92 | 1 我想先上传一个文件,然后把文件里数据insert / update 到数据库
假设:
uploadFile: {1:a, 2:b, 3:c}
数据库表 : {1:a,3:d}
在insert 2:b 之前,想弹出一个form,或者窗口, 让user选择是否insert new row
, 然后在继续处理下一条数据。下面是sample code,大家有啥建议,多谢!!!
sample.xhtml
value="#{UpdateBean.uploadedFile}" />
UpdateBean.java
public void uploadFile(){
persistData(getUploadFile());
}
我试过在submit button那加个 , 但是这个render
只有在uploadFile() method 执行完,返回response时,sample.xhtml 才会update。 | T*****e 发帖数: 361 | 2 你需要把你的流程按照时间上的先后,分成client和server的不同步骤,然后来考虑实
现。JSF在这些方面不是那么清晰,需要你自己先想明白自己到底想要干什么,然后决
定怎样干。
具体地,你的流程可能是这样的:(123: client, 45: server)
1. The user selects a file to upload.
2. The user clicks the "Submit" button.
3. The user is prompted to confirm new record insertion.
4. The file is uploaded to the server.
5. The content of the file is persisted.
如果是这样,你的Submit按钮上加个onsubmit js event handler就可以了。
流程也可以是这样的:(125: client, 346: server)
1. The user selects a file to upload.
2. The user clicks the "Submit" button.
3. The file is uploaded to the server.
4. The content of the file is parsed.
5. If new records present, the user is prompted to confirm new record
insertion.
6. The content of the file is persisted.
这个效果可能更好但是实现更加复杂一些。 | s*******1 发帖数: 92 | 3 多谢!
方法1我可以实现,但不满足要求。 方法2就是我想要的,在研究下。想多问下,JSF这
方面不清晰,哪个比较清晰?
【在 T*****e 的大作中提到】 : 你需要把你的流程按照时间上的先后,分成client和server的不同步骤,然后来考虑实 : 现。JSF在这些方面不是那么清晰,需要你自己先想明白自己到底想要干什么,然后决 : 定怎样干。 : 具体地,你的流程可能是这样的:(123: client, 45: server) : 1. The user selects a file to upload. : 2. The user clicks the "Submit" button. : 3. The user is prompted to confirm new record insertion. : 4. The file is uploaded to the server. : 5. The content of the file is persisted. : 如果是这样,你的Submit按钮上加个onsubmit js event handler就可以了。
| T*****e 发帖数: 361 | 4 我说JSF不够清晰,是因为它运行在server端,但是很多用户操作同时可以更加方便地
从client端来实现,在client/server之间的分解不够清晰,很容易把人绕晕。现在更
加流行的是把跟用户操作相关的东西都放到client端,server端只定义服务,用来支持
必要的数据查询与存储等。这个更加灵活一些,也更加容易调试。
当然了,JSF这些也都能做。
其实前面把各个步骤列出来了,每个步骤单独实现都不难,然后组合起来就行了。如果
有需要,再在已经实现的步骤上进行调整。
比如:(125: client, 346: server)
1. On the first form (JSF view), the user selects a file to upload.
2. On the same form, the user clicks the "Submit" button.
3. In side a bean, the file is uploaded to the server and gets temporarily
saved.
4. In side the same bean, the content of the file is parsed.
5. If there are no new records, go to step 9 (just a method call).
6. If new records present, the name of a second JSF view is returned, with
reference to the parsed file.
7. The second JSF view (form) displays the new records and presents a "
Confirm Insertions" button to the user.
8. The user clicks the confirmation button.
9. In side the bean, the content of the file is persisted.
10. A third view is returned to confirm success of record updates.
最基本的要点就是要细化每一个步骤直到它基本不可分或者简单直接到没有必要分,然
后实现每个步骤,把它们串起来。在这个基础上,可以考虑怎么组合让整个流程更加合
理让用户更加容易使用(比如用AJAX等)。
这些步骤同样可以用于client/server清晰划分的应用,就是把JSF View换成HTML Form
并把JSF Bean换成Service就行了。
【在 s*******1 的大作中提到】 : 多谢! : 方法1我可以实现,但不满足要求。 方法2就是我想要的,在研究下。想多问下,JSF这 : 方面不清晰,哪个比较清晰?
|
|
|
|
|
|
|