2013-02-27 39 views
-1

我有兩種不同的形式來註冊用戶和一個動作,表單1被A類用戶使用,表單2被B類型用戶使用。因此,當他們獲得索引時,他們將根據他們的類型選擇表單我沒有任何選項來確定他們的類型,唯一的辦法就是接收請求並找出哪個表單已將請求發送到該操作。如何檢測誰將註冊表單發送給操作?

我需要一些提示,說明如何找出哪個表單已將請求發送到操作。的用戶B

  • 用戶A

    JSP文件

    <s:form name="form1" action="register"> 
        .... registration form for User A ..... 
    </s:form> 
    

    JSP文件請注意形式是不同的

行動

public String Register() { 

    if (request is from form1) 
    { 
     ..... 
    } 
    if (request is from form2) 
    { 
    .... 
    } 

}   

回答

2

一些選項:

  1. 的形式把一個隱藏的價值。
  2. 查看會話用戶以確定其類型。
  3. 適當地分開邏輯並且有單獨的操作方法。
+0

我已經更新了這個問題 – 2013-02-27 00:20:22

+0

@DanielMorgan同樣的答案。如果形式不同,使用相同的動作/方法似乎很愚蠢。 – 2013-02-27 00:24:15

+0

所以你的意思是我應該有單獨的操作並覆蓋每個用戶類型的所有方法? – 2013-02-27 00:26:01

0

假設他們已經擁有了會話,你可以使用

ActionContext.getContext().getSession().getId() 

在Struts2的-Bean來識別會話。

從現在起,您可以使用會話ID來區分user1的操作和user2的操作;