سؤال

غير قادر على الوصول إلى الحقول الثابتة مع ognl مع Struts2

<s:checkbox  name="operation" fieldValue="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" />

ما سبق يتحول إلى HTML على النحو التالي

<input type="checkbox" name="operation" value="@com.xx.xxx.webapp.action.EntryAction@OPERATIONAL" id="entry_operation"/>

بدلاً من ذلك ، أعلن الثابت الثابت كما

com.xx.xxx.webapp.action.EntryAction.OPERATIONAL = "OPERATIONAL";

أنا ثابت <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> ضبط بشكل صحيح

هل كانت مفيدة؟

المحلول

لا ترتبط مشكلتك بالحقول الثابتة ، ولكن إلى بناء جملة STRUTS2 الأساسي. الكود خاطئ على عدة مستويات.

أولا ، هو القيمة السمة التي يجب أن تستخدمها ، بحيث تفسر STRUTS2 ما بداخله كشيء لتقييمه وتقديمه (قيمة الحقل هو فقط لتلك الحالات النادرة التي تحتاج فيها إلى كتابة قيمة مخصصة ثابتة = "" "السمة في HTML).

ثانياً ، يجب ألا تستخدم الحقول الثابتة إذا كنت تتعلم Struts2 ، وفهم السيناريوهات الأساسية والطباعية أولاً.

ثالثًا ، ليس من المنطقي استخدام هذه السلسلة كقيمة خانة اختيار ، والتي تحتوي على قيمتين فقط (صحيحة وكاذبة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top