рдкрд░рд┐рдЪрдп
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ GWT рдФрд░ рд╡реЗрдмрдЯреЙрдк рдХреЗ рдХреНрд░реЙрд╕рдмреНрд░реЗрдбрд┐рдВрдЧ рдкрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдзреНрдпрдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╡реИрдз рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреВрдВрдЧрд╛: "рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?" рдореИрдВрдиреЗ рдХрдИ рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛:
1) GWT рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВред
2) WDK рдФрд░ Webtop рдХреЗ рдЗрдВрдЯрд░реНрдирд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВред
3) рд╢рд╛рдпрдж рд╡реЗрдмрдЯреЙрдк рдХреЗ рд▓рд┐рдП GWT рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред
GWT рдХреЛ рдЗрд╕рд▓рд┐рдП рдЪреБрдирд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЬрд╛рд╡рд╛ рдХреЗ рд▓рд┐рдП UI рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдб рдЬрд▓реНрджреА рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ AJAX рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдмрдЯреЙрдк рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ (рдбреЙрдХреНрдпреБрдореЗрдВрдЯрдо рд╕реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдПрдХреНрд╢рди рдФрд░ рдкреНрд░реАрдХреЙрдиреНрдбрд┐рд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░) рдФрд░ рд╡реЗрдмрдЯреЙрдк рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред
рд╕реАрдорд╛ рдХреА рд╕реНрдерд┐рддрд┐
рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реНрдХ рд╕реЗ:
рд╕реАрдЖрд░рдпреВрдбреА, рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╡реНрдпрд╛рдкрд╛рд░ рд╕рдВрдЪрд╛рд▓рдиред
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдФрд░, рдПрдХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ, рдкреВрд░реНрд╡ рд╢рд░реНрдд Webtop'sред рдпрд╛рдиреА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдФрд░ рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рджреНрд╡рд╛рд░рд╛:
рдЕрдзрд┐рдХрддрдо 100 рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред рдЕрдзрд┐рдХрддрдо 100 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдиред
UI рджреНрд╡рд╛рд░рд╛:
GWT рдХреЛ рдореМрдЬреВрджрд╛ Webtop рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХ рдХреЗ рд╕реНрддрд░ рдкрд░ред рдпрд╛рдиреА рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдмрдЯреЙрдк рдШрдЯрдХ рд╕реЗ GWT рдШрдЯрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рд╢рдмреНрдж "рдШрдЯрдХ" рдорд╛рдирдХ рд╡реЗрдмрдЯреЙрдк рдШрдЯрдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХ рдХреЛ рд╡рд╛рдкрд╕ GWT рдШрдЯрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЯрд┐рдкреНрдкрдгреА:
GWT рдХреЗ рдореБрдЦреНрдп рдкрд╣рд▓реВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ - рд▓реЗрдЦ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИрдВред
рдпреВрдЖрдИ
UI рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд░рд▓ GWT рд╡рд┐рдзрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдПрдХ рд▓рд╛ рд╕реНрд╡рд┐рдВрдЧ, рдЬрдм рд╡рд┐рдЬреЗрдЯ рд╕реАрдзреЗ рдХреЛрдб рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛ - рд╕рднреА рдХреЛрдб рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ рдФрд░ рдЖрдк рддреБрд░рдВрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдлреЙрд░реНрдо рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо 100 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЗрдВ) рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдХрдИ рд╢реНрд░реЛрддрд╛ рдлреЙрд░реНрдо рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрдврд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЛрдб рд╕реЗ рд╡рд┐рдЬреЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, GWT рдПрдХ рдФрд░ рддрдВрддреНрд░ - UI рдмрд┐рд▓реНрдбрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ UI рдХреЛ xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддрд░реНрдХ рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред UI рдмрд┐рд▓реНрдбрд░ рдХреЗ рдбрд╛рдЙрдирд╕рд╛рдЗрдб рдореЗрдВ рд╕реЗ, GWT рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╡рд┐рдЬреЗрдЯ UI рдмрд┐рд▓реНрдбрд░ рдШрдЯрдХ рдкреИрд▓реЗрдЯ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рдпрд╣ рднреА рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛ рдмрд┐рд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реНрддрдВрдн рдЬреЛрдбрд╝реЗрдВ), рддреЛ рдЖрдкрдХреЛ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдбреЙрдХреНрдпреБрдореЗрдВрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдореЗрдердб рдкрд░ рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рддрдп рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рдо рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдкрд╣рд▓рд╛ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рд╕реЗ рдорд╛рдирдХ рдЖрд░рдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╣рдо рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧреА - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ "рдХрд░реНрдордЪрд╛рд░реА" рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ "рд╕рдВрдЧрдарди"ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ POJOs рд╣реИрдВ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред GWT рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдПрдХ рдиреЛрдЯ
рд╣реИредрдпрд╣ рд╕рдВрдЪрд╛рд░ рдХреЗ рд╕рдорд╛рди рддрд░реАрдХреЗ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред рдбреАрдЯреАрдУ рдХреЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЕрдВрддрд░ (рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рдирд╛рдо рд╕реЗ рдФрд░ рд╡рд┐рдХреА рд╕реЗ, рдпреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордзреНрдпрд╡рд░реНрддреА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╛рдиреА 100 рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реА рдПрдХ рдЗрдХрд╛рдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХ рдХреЗрд╡рд▓ 10 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрди 10 рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреАрдЯреАрдУ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдлрд╛рдпрджреЗ рд╕рдордЭрдиреЗ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВред
рд╡рд┐рдкрдХреНрд╖ - рдбреАрдЯреАрдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛, рдЕрдиреНрдпрдерд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╣рд╕реНрддрд╛рдВрддрд░рдгред
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдлреИрдХреНрдЯреНрд░реАред рдпрд╣ RPC рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рд╡рд╕реНрддреБрдУрдВ рдкрд░ CRUD рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг RPC рдХреЙрд▓ рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд┐рди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ (рдПрдВрдЯрд┐рдЯреАрдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА) рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЗрд░рдлреЗрд░ рдХрд░рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ, рдкреНрд░реЙрдХреНрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдбреАрдЯреАрдУ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВред рдмрд╕ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреАрдЯреАрдУ рдХреЛ рдореБрдЦреНрдп рд╡рд╕реНрддреБ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
RPC рдФрд░ RequestFactory
stackoverflow.com/questions/4119867/when-should-i-use-requestfactory-vs-gwt-rpc рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ StackOverflow рдЪрд░реНрдЪрд╛
рд╡рд┐рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ RequestContext рд╡рдВрд╢рдЬреЛрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдЗрди рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд╕рдВрдмрдВрдз рдкрд╕рдВрдж рдирд╣реАрдВ рдерд╛, рд╕рд╛рде рд╣реА рдкреНрд░реЙрдХреНрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЦреБрдж рдХреЗ рдЧреЗрдЯреНрдЯрд░ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХреЗ рдмреАрдЪ рднреАред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, GWT RequestFactory рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рддреНрдпрд╛рдкрди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ рдЕрд╕рдВрдЧрддрддрд╛ рдкрд╛рддрд╛ рд╣реИред
рд╡реЗрдмрдЯреЙрдк рдФрд░ GWT рдХреЗ рдмреАрдЪ рдкрд╛рд╕рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░
рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ GWT рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдвреВрдВрдвреЗ - JSP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдЬреЗрдПрд╕ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж), url рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдкреНрд░рд╛рдкреНрдд рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдХреЗ) рдФрд░ рдПрдХ рд╕рд░реНрд╡рд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛ред
рд╡реЗрдмрдЯреЙрдк рдХреЗ рд▓рд┐рдП, рдЬреЗрдПрд╕рдкреА рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдЪреВрдВрдХрд┐ рдШрдЯрдХ рдПрдХ рдЬреЗрдПрд╕рдкреА рдкреГрд╖реНрда рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдорд╛рдирддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реЛрдЧрд╛, рдФрд░ рдШрдЯрдХ рдЖрдкрдХреЛ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЗрдПрд╕рдкреА рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдХреЛрдб рдХреЛ jsp рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
<script type="text/javascript"> var wdk2gwt_param = '${wdk2gwtParam}'; </script>
рдпрд╣рд╛рдБ JS рд╡реИрд░рд┐рдПрдмрд▓ wdk2gwt_param рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ wdk2gwtParam рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдХреЛрдб рдореЗрдВ рдпрд╣ рд▓рд┐рдЦреЗрдВ:
@Override public void onRender() { getPageContext().setAttribute(тАЬwdk2gwtParamтАЭ, тАЬ тАЭ); super.onRender(); }
рдпрд╣рд╛рдВ, рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдо wdk2gwtParam, рдЬрд┐рд╕реЗ jsp рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреЛ рдПрдХ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рдШрдЯрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдШрдЯрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
public void onReturnClick(Control control, ArgumentList list) { setComponentReturn(); }
рдпрд╣ рдШрдЯрдХ рдХреА рдорд╛рдирдХ рд╡рд┐рдзрд┐ (setComponentReturn ()) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрд╕ рдШрдЯрдХ рдкрд░ рд▓реМрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВред
рдФрд░ GWT рдореЗрдВ, рдирд┐рдореНрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
public native String getParam() ; public native void callPostServerEvent() ;
рдпрд╣рд╛рдБ рдЬрд╛рд╡рд╛ рдХреЛрдб рд╕реЗ JS рдХреЛрдб рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИред GetParam () рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ wdk2gwt_param рдЪрд░ (рдЬреЛ jsp рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИред CallPostServerEvent () рд╡рд┐рдзрд┐ рдореЗрдВ, рдорд╛рдирдХ JS WDK рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдШрдЯрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдСрдирд░рдЯрд░реНрдирдХреНрд▓рд┐рдХ рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред JS рдХреЗ рд▓рд┐рдП postServerEvent рдХреЛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреИрдЧ jsp рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП: <dmf: webform /> рдФрд░ <dmf: form>
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкреВрд░рд╛ jsp рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
<%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib uri="/WEB-INF/tlds/dmform_1_0.tld" prefix="dmf"%> <html> <head> <dmf:webform /> <title></title> </head> <body> <dmf:form> <script type="text/javascript"> var wdk2gwt_param = '${wdk2gwtParam}'; </script> <script language="javascript" src="/Webtop/ru.tim.gwt.correspondent.Correspondent/ru.tim.gwt.correspondent.Correspondent.nocache.js"></script> </dmf:form> </body> </html>
рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдбреЙрдХреНрдпреВрдореЗрдВрдЯрдо рд╕рддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рд╣рдо SessionManagerHttpBinding рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ IDfSessionManager рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕рддреНрд░ рдХреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
IDfSessionManager sessionManager = SessionManagerHttpBinding.getSessionManager(); IDfSession session = null; try { session = sessionManager.getSession(SessionManagerHttpBinding.getCurrentDocbase()); } catch (Exception e) { e.printStackTrace(); } finally { sessionManager.release(session); }
рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ GWT рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕рддреНрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рд▓реЙрдЧ рдЗрди рдореЗрдВ рд╕рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдЕрд╢рдХреНрдд рдЬрд╛рдВрдЪ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреНрд░рджрд░реНрд╢рди WDK
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдФрд░ рдкреВрд░реНрд╡рдзрд╛рд░рдгрд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕реВрдЪреАрдмрджреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реИред
рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдорди рдореЗрдВ рдЖрдпрд╛, рд╡рд╣ рдерд╛ рдЗрдВрдЬреАрдирд┐рдпрд░ рдлреЙрд░реНрдо рдХреЙрд▓ рдХреЛ рд░рд┐рд╡рд░реНрд╕ рдХрд░рдирд╛ред (рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреЛрдИ рдбреЙрдХ рдирд╣реАрдВ рд╣реИрдВ)ред рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣, рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░рдкрддреНрд░ рдФрд░ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк AJAX рджреНрд╡рд╛рд░рд╛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯрдо
рд╕рдореБрджрд╛рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ редemc.com/docs/DOC-8012 - рддрдерд╛рдХрдерд┐рдд рдЗрдирд▓рд╛рдЗрди рдХреЙрд▓ред
рдпрд╛рдиреА рд╕рд╛рд░ рдПрдХ рдШрдЯрдХ рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ - рдирд╛рдо рдХрд╛рд░реНрд░рд╡рд╛рдИ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рд╕реВрдЪреАред рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ - рдпрджрд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ: setComponentReturn, setComponentJump, setComponentNested (рд╕рдВрднрд╡рддрдГ рдЕрдиреНрдп), рддреЛ рдЬрдм рдЖрдк рдШрдЯрдХ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░реЗрдВрдЧреЗ рддреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА (рдШрдЯрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмреЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдШрдЯрдХ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЧрдпрд╛ рд╣реИ (рджреВрд╕рд░реЗ рдШрдЯрдХ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдкреИрд░рд╛рдореАрдЯрд░ рдШрдЯрдХ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдиреА рдЕрд╡рд╕реНрдерд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХреЗ рднреАрддрд░ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд░реЗрдЦрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд░ рдШрдЯрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╣рд╛рд▓рдд рдкреБрд░рд╛рдиреА рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╣реА рдорд┐рд▓ рдЪреБрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдХреА рдСрди рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рднреА рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рд░реВрдк рдХреА рд╕рднреА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░рддреА рд╣реИ (рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдПрдХ рдмреНрд░реЗрдХ рдкреЙрдЗрдВрдЯ рдЗрди рдПрдХреНрд╢рди рдФрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ)ред рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдорд╛рдирдХ рдПрдХреНрд╢рди рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рдлреЙрд░реНрдо рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╡рд┐рдзрд┐ рдЗрдирд▓рд╛рдЗрди рдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рддреЛ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдирд╛рдо рдХрд╛рд░реНрд░рд╡рд╛рдИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ - рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ IInlineCapableAction рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рд╕реЗ, рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╡рд╛рд╣реА рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд╣реЛрдЧрд╛ред рдореВрд▓реНрдп рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (IActionExecution рдХреЗ 6 рд╡реЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ред рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ) рдФрд░ рд╡рд╣рд╛рдВ RESPONSE_DATA рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдорд╛рди рдбрд╛рд▓реЗрдВред
рдкреВрд░рд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде Xml рд╕рд╛рдордЧреНрд░реАред
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <config version="1.0"> <scope> <action id="test_action"> <params> <param name="test_param" required="false"/> </params> <execution class="ru.tim.wdk.test.TestAction"/> </action> </scope> </config>
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ - рдХрд╛рд░реНрд░рд╡рд╛рдИ test_param рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд▓реЗрддреА рд╣реИред
рдПрдХреНрд╢рди рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
public boolean execute(String actionName, IConfigElement config, ArgumentList args, Context context, Component component, Map resultMap) { System.out.println("Action param: " + args.get("test_param")); resultMap.put("RESPONSE_DATA", "actionResultValue"); return true; }
рдпрд╣рд╛рдВ test_param рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдКрдкрд░ рдпрд╣ xml рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИResultValue RESPONSE_DATA рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╣реИред RESPONSE_DATA - рдЗрдирд▓рд╛рдЗрди рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреБрдВрдЬреАред рдореИрдВрдиреЗ рдЗрд╕реЗ рдСрдирд╢рди рдореЗрдердб рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдкрд╛рдпрд╛ред рдЬрдм рдЗрдирд▓рд╛рдЗрди рдХреЙрд▓рд┐рдВрдЧ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИрдВрдбрд▓рд░ рдХреНрд▓рд╛рд╕ (CallbackDoneListenerWrapper) рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдореИрдк рдХрд╛ рдорд╛рди RESPONSE_DATA рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЬрд╡рд╛рдм рднреЗрдЬрддреЗ рд╕рдордп, RESPONSE_DATA рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдШрдЯрдХ рд╡рд░реНрдЧ рдореЗрдВ processInlineActionResponseData рд╡рд┐рдзрд┐)ред
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде jsp рдкреГрд╖реНрда рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛:
<script type="text/javascript"> function executeAction() { var prefs = InlineRequestEngine.getPreferences(InlineRequestType.JSON); prefs.setCallback(callBack); postInlineServerEvent(null, prefs, null, null, "onaction", "action", "test_action", "test_param", "test_param_value"); } function callBack(data) { if (isEventPostingLocked()) { releaseEventPostingLock(); } if (data) { var result = data['RESPONSE_DATA'] window.alert(result); } } </script>
рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдкрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреЛрд╕реНрдЯрдЗрдиреНрд▓рд╛рдЗрдирд╕рд░реНрд╡рд░рди рд╡рд┐рдзрд┐ рдореЗрдВ, рдХреНрд░рд┐рдпрд╛ - рдирд┐рд╖реНрдкрд╛рджрди рдирд┐рд╖реНрдкрд╛рджрди рд╡рд┐рдзрд┐ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ - рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде, рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдирд╛рдо рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред test_action рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред test_param рдПрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдирд╛рдо рд╣реИред test_param_value - рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдЖрдЧреЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - <рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо>, <рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди>ред
GWT рд╕реЗ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЙрд▓ рдХреЛ GWT рд╡рд┐рдзрд┐ рд╕реЗ postInlineServerEvent рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ GWT рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ -рдмреИрдХрдмреИрдХ рдХрд░реЗрдВред
рдЕрдм рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡ рд╢рд░реНрдд рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред
рдЖрдк рдШрдЯрдХ рдореЗрдВ рдЙрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХрд░реЗрдЧрд╛ред рдХрд╛рд░реНрдпрднрд╛рд░ рд╕реЗрд╡рд╛ рдПрдХреНрд╢рди рд╕рд░реНрд╡рд┐рд╕.рдХреНрд╡реЗрд░реА рдПрдХреНрд╕рдХреНрдпреВрдЯ (рд╕реНрдЯреНрд░реИрдХреНрд╢рди, рдЖрд░реНрдЧреНрд╕, рд╕рдВрджрд░реНрдн, рдШрдЯрдХ) рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛
рд╡реЗрдмрдЯреЙрдк рдФрд░ рдПрдХреНрд▓рд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ Gwt рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВрдЧреЗред Org.eclipse.wst.common.project.facet.core.xml рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .settings рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд), рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред
<fixed facet="jst.web"/> <fixed facet="java"/> <fixed facet="wst.jsdt.web"/> <installed facet="java" version="1.6"/> <installed facet="jst.web" version="2.5"/> <installed facet="wst.jsdt.web" version="1.0"/>
рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="jst.utility"/> <fixed facet="java"/> <fixed facet="jst.web"/> <fixed facet="wst.jsdt.web"/> <installed facet="java" version="1.6"/> <installed facet="jst.web" version="2.5"/> <installed facet="wst.jsdt.web" version="1.0"/> <installed facet="jst.utility" version="1.0"/> </faceted-project>
рдпрд╣рд╛рдВ рд╣рдордиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реЛрдЧреА рдФрд░ рдЗрд╕реЗ рдЯреЙрдордХреИрдЯ рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛ рдмрд┐рд▓реНрдб рдкрд╛рде рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╡реЗрдкреНрдЯреЙрдк рдФрд░ рд╡реЗрдм рдРрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдлреЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ gwt рдФрд░ webtop рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ gwt рдФрд░ weptop рд╡реЗрдм рд╕рд╛рдордЧреНрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЕрд╕реЗрдВрдмрд▓реА рд╕реЗрдЯ рдХрд░реЗрдВред
рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдмрдЪреА рд╣реИ - web.xml рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдЯреЙрдк рд╕реЗ тАЛтАЛрдЕрд▓рдЧ gwt рдЪрд▓рд╛рдПрдВред рдЪреВрдВрдХрд┐ рдЕрдм web.xml рдореЗрдВ рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЗ gwt рдФрд░ рд╕рд░реНрд╡рд▓реЗрдЯ рдХреЗ рд╡реЗрдмрдЯреЙрдк рджреЛрдиреЛрдВ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдПрдХ web.xml рд╡реЗрдмрдЯреЙрдк рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред Gwt рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдЫреЛрдбрд╝реЗрдВред рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдЕрдирд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╣реА рдХреНрд░рдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╡реЗрдмрдЯреЙрдк рдкрд╣рд▓реЗ рдЕрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ gwtред рдХреЛрдИ рдбреЗрдЯрд╛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдШрдЯрдХ рдмрдирд╛рдпрд╛ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╡рд╕реНрддреБ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХрдИ рдПрдХрд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реВрддреНрд░ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ dl.dropbox.com/u/7519092/gwt2wdk.rar (рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдЯреЙрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
рдирд┐рд╖реНрдХрд░реНрд╖
GWT рдФрд░ рд╡реЗрдмрдЯреЙрдк рдХреЗ рдмреАрдЪ рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рдХреНрд░рд┐рдпрд╛ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдХреА рдЧрдИрдВред рд▓реЗрдХрд┐рди рдШрдЯрдХ рд╕рдВрдкрд╛рджрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛рд░реНрдб рдХреЗ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
1) рдСрдмреНрдЬреЗрдХреНрдЯ рдЪрдпрди рдХреЗ рд╕рд╛рде рдПрдХ рдлреЙрд░реНрдоред Webtop рдореЗрдВ, рдЗрд╕реЗ рдЪрдпрдирдХрд░реНрддрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
2) рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреЗрдЯ, рддрд╛рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рди рд▓рд┐рдЦреЗрдВред
3) рдкреНрд▓рдЧ-рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдмрдЯреЙрдк рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЧреБрдг рдШрдЯрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬреАрдбрдмреНрд▓реНрдпреВрдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдмрд╛рддреЗрдВ - рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдЗрдирдкреБрдЯ рдХреА рдЬрд╛рдБрдЪ, рдпреВрдЖрдИ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рд╣реА рдЕрдВрддрд░ред
рд▓рд┐рдВрдХ
RequestFactory рдореИрдиреБрдЕрд▓
рдбреЗрд╡рд▓рдкрд░реНрд╕ред Googleweb-toolkit/doc/latest/DevGuideRequestFactory?hl=en-US#locators
RequestFactory рдЙрджрд╛рд╣рд░рдг (1)
cleancodematters.wordpress.com/2011/06/04/tutorial-gwt-request-factory-part-iRequestFactory рдЙрджрд╛рд╣рд░рдг (2)
javaasylum.blogspot.com/2010/11/gwt-21-request:free.htmlRequestFactory рдЙрджрд╛рд╣рд░рдг (3)
turbomanage.wordpress.com/2011/03/25/use-gwt-requestfactory-with-objectify