2013-12-20 146 views
-1

我正在使用struts2框架。我正在接受這種我不知道是對還是錯的做法。Java-EE項目中的命名約定

我的特定動作的函數名是:Action類中的getTspList。 然後在我的bean中提供這個動作,我有從DB獲取數據的功能。在我的bean中使用相同的函數名getTspList命名這個函數。然後在我的JavaScript文件中,如果我通過AJAX獲取數據,則使用相同的函數名稱。

所以Action類,Bean,JavaScript文件的功能名稱相同getTspList。這是不好的做法?

如果是的話,如何把不同的名字?

編輯:其實我自己寫的getXYZ/setXYZ一個變量XYZ中,我get/set他們通過調用這個bean與getter/setter我的課該成員變量衝突。

如何拿出解決方案呢?

+0

它看起來不錯,但我不確定TSP是什麼。如果它是某個商業實體,那麼可以跨越使用它。但要注意在公共行爲類中使用'public get ...()'方法,因爲如果你在jsp中使用變量,它們將被調用。即,如果你的getTspList有一個DB調用,並且你使用''在你的jsp中,那麼你可能會無意中在那裏做數據庫調用。 –

+0

@ArvindSridharan:是的,它即將提到,它與變量的getter衝突。任何想法來解決這個問題? –

+0

使用'find'和'add'使它們不會發生衝突:)通過這種方式,你不應該在Action中使用這些方法,而是在另一個層次中,所以你的調用將是getService()。getXYZ',並且它會贏得' t衝突相同。 –

回答

0

ITS更好地使用getTspListBean,getTspListJs,getTspListAcion所以我們可以很容易地理解

最好是請使用駝峯規則或Pascal外殼

駱駝外殼所有詞語開始資本和其他所有字母小字母 帕斯卡套管除了第一個字都在駱駝套中,第一個字以小寫字母開頭。

在項目我使用駱駝外套類,接口

所有功能都寫在帕斯卡套管。

+0

類和接口應該寫入[Pascal Case](http://c2.com/cgi/wiki?PascalCase),否則稱爲UpperCamelCase。方法應該在camelCase中,以小寫字母開頭。這是規範的Java命名約定,這也是你的獲取者所遵循的。 –

1

Here是來自oracle官方網站的命名約定。看看它。

或者你可以參考這個詳細的document

0

爲什麼不使用GoogleStyle進行格式化。獲取它並將xml文件導入到您的項目中,並且您是GO。

至於命名約定,標準命名約定是好的,雖然一些公司使用自己的格式和命名約定。

0

要在Java中命名對象,應遵循Java Bean約定將方法命名爲Java bean屬性的屬性訪問器。這些方法以get/set前綴命名。

如果您命名這樣的操作方法,它將被視爲一個bean屬性並可供OGNL使用。如果它有一個public訪問修飾符,那麼無論它的目的是一個動作,它都可以用作一個getter。

例如屬性tspList可通過OGNL從valueStack訪問,因爲它有一個吸氣getTspList()

所以,如果你不想要這樣的事情發生,你不應該將動作映射到bean屬性。