প্রাইমফিজ প্রসেস / আপডেট এবং জেএসএফ এফ বুঝতে হবে: অজেক্স এক্সিকিউট / রেন্ডার অ্যাট্রিবিউটগুলি


193

কি ঠিক হয় processএবং updatePrimeFaces মধ্যে p:commandXxxউপাদান এবং executeএবং renderf:ajaxট্যাগটি?

যাচাইয়ের সময় কোনটি কাজ করে? updateপিছনের দিক থেকে উপাদানগুলিতে মান আপডেট করার চেয়ে গুণাবলী কী করবে ? কি processমডেলের বৈশিষ্ট্য বেঁধে মূল্য কত? ঠিক কি @this, @parent, @allএবং @formউভয় বৈশিষ্ট্য কি?

নীচের উদাহরণটি ভাল কাজ করছে, তবে আমি মৌলিক ধারণাগুলিতে কিছুটা বিভ্রান্ত।

<p:commandButton process="@parent"
                 update="@form"
                 action="#{bean.submit}" 
                 value="Submit" />

উত্তর:


306

<p:commandXxx process> <p:ajax process> <f:ajax execute>

processঅ্যাট্রিবিউট সার্ভার প্রান্তের এবং শুধুমাত্র প্রভাবিত করতে পারে UIComponentবাস্তবায়ন গুলি EditableValueHolder(ইনপুট ক্ষেত্র) অথবা ActionSource(কমান্ড ক্ষেত্র)। processঅ্যাট্রিবিউট বলে JSF, ক্লায়েন্ট আইডি, যা উপাদান ঠিক উপরে সমগ্র JSF জীবনচক্র মাধ্যমে প্রক্রিয়াকৃত করা আবশ্যক একটি স্থান পৃথক করা তালিকা ব্যবহার (আংশিক) ফর্ম জমা দিতে হবে।

JSF তারপর অনুরোধ মান প্রয়োগ করা হবে (HTTP অনুরোধ পরামিতি উপাদান নিজস্ব ক্লায়েন্ট ID উপর ভিত্তি করে এবং তারপর খোঁজার পারেন ক্ষেত্রে পেশ মান যেমন সেটিং EditableValueHolderউপাদান অথবা একটি নতুন কিউইং ActionEventক্ষেত্রে ActionSourceউপাদান), সঞ্চালন রূপান্তর, বৈধতা এবং আপডেট মডেল মান ( EditableValueHolderকেবলমাত্র উপাদানগুলি) এবং অবশেষে সারি লাগানো ActionEvent( ActionSourceকেবলমাত্র উপাদানগুলি) প্রার্থনা করুন । জেএসএফ processবৈশিষ্ট্য দ্বারা আচ্ছাদিত নয় এমন সমস্ত অন্যান্য উপাদানগুলির প্রক্রিয়াজাতকরণ এড়িয়ে যাবে । এছাড়াও, উপাদানগুলির প্রয়োগগুলির অনুরোধের মানগুলির পর্যায়ের সময়গুলির বিশিষ্টতা renderedযাচাই করে falseতাও টেম্পারড অনুরোধগুলির বিরুদ্ধে সুরক্ষার অংশ হিসাবে এড়ানো হবে।

নোট করুন যে এটি ActionSourceউপাদানগুলির ক্ষেত্রে (যেমন <p:commandButton>) খুব গুরুত্বপূর্ণ যে আপনি নিজেই উপাদানটির অংশটিকে অন্তর্ভুক্ত করবেন process, বিশেষত যদি আপনি উপাদানটির সাথে সম্পর্কিত ক্রিয়াটি চালিত করতে চান। সুতরাং নীচের উদাহরণটি যা নির্দিষ্ট কিছু ইনপুট উপাদান (গুলি) প্রক্রিয়া করতে চায় যখন নির্দিষ্ট কমান্ড উপাদানটি চাওয়া হয় তা কাজ করে না:

<p:inputText id="foo" value="#{bean.foo}" />
<p:commandButton process="foo" action="#{bean.action}" />

এটা শুধুমাত্র প্রক্রিয়া হবে #{bean.foo}এবং না#{bean.action} । আপনাকে কমান্ড উপাদানটি নিজেই অন্তর্ভুক্ত করতে হবে:

<p:inputText id="foo" value="#{bean.foo}" />
<p:commandButton process="@this foo" action="#{bean.action}" />

বা, যেমন আপনি স্পষ্টতই জানতে পেরেছেন @parentযে তারা যদি সাধারণ পিতা-মাতার একমাত্র উপাদান হয়ে থাকে তবে তা ব্যবহার করে :

<p:panel><!-- Type doesn't matter, as long as it's a common parent. -->
    <p:inputText id="foo" value="#{bean.foo}" />
    <p:commandButton process="@parent" action="#{bean.action}" />
</p:panel>

বা, যদি উভয়ই পিতামাতার UIFormউপাদানগুলির একমাত্র উপাদান হয়ে থাকে তবে আপনি এটি ব্যবহার করতে পারেন @form:

<h:form>
    <p:inputText id="foo" value="#{bean.foo}" />
    <p:commandButton process="@form" action="#{bean.action}" />
</h:form>

এটি কখনও কখনও অবাঞ্ছিত হয় যদি ফর্মটিতে আরও ইনপুট উপাদান থাকে যা আপনি প্রক্রিয়াকরণে এড়াতে চান তবে প্রায়শই ক্ষেত্রে যখন আপনি অন্য ইনপুট উপাদান (গুলি) বা বর্তমান ইনপুট উপাদানটির উপর ভিত্তি করে কিছু ইউআই বিভাগ আপডেট করতে চান একটি আজাক্স শ্রোতা পদ্ধতি। আপনি নামটি চান না যে অন্যান্য ইনপুট উপাদানগুলিতে বৈধতা ত্রুটিগুলি এজাক্স শ্রোতা পদ্ধতিকে কার্যকর হতে বাধা দিচ্ছে।

তারপর আছে @all। এটিতে কোনও বিশেষ প্রভাব নেইprocess অ্যাট্রিবিউটে , তবে কেবল updateঅ্যাট্রিবিউটে। একটি process="@all"ঠিক যেমন আচরণ করে process="@form"। এইচটিএমএল একসাথে একাধিক ফর্ম জমা দেওয়ার পক্ষে সমর্থন করে না।

উপায় দ্বারা এছাড়াও একটি @none যা দরকারী হতে পারে যদি আপনি একেবারে প্রক্রিয়া কিছু প্রয়োজন হবে না, কিন্তু শুধুমাত্র মাধ্যমে কিছু নির্দিষ্ট অংশের আপডেট করতে চান update, বিশেষ করে যারা বিভাগে যাদের সামগ্রী পেশ মান বা কর্ম শ্রোতাদের ওপর নির্ভর করে না।

উল্লেখ্য হওয়া উচিত যে এইচটিটিপি রিকোয়েস্ট পেলেড (অনুরোধ প্যারামিটারের পরিমাণ) এ processঅ্যাট্রিবিউটটির কোনও প্রভাব নেই । অর্থ, এইচটিএমএল প্রতিনিধির মধ্যে থাকা "সবকিছু" প্রেরণের ডিফল্ট এইচটিএমএল আচরণ <h:form>প্রভাবিত হবে না। যদি আপনার একটি বৃহত ফর্ম থাকে এবং আপনি এইচটিটিপি রিকোয়েস্ট পেইডকে কেবল প্রসেসিংয়ে একেবারে প্রয়োজনীয় এগুলি হ্রাস করতে চান, অর্থাত কেবল processএট্রিবিউট দ্বারা আচ্ছাদিত হয় , তবে আপনি partialSubmitপ্রাইমফ্রিজস অ্যাজাক্স উপাদানগুলিতে <p:commandXxx ... partialSubmit="true">বা হিসাবে হিসাবে বৈশিষ্ট্যটি সেট করতে পারেন <p:ajax ... partialSubmit="true">। আপনি সম্পাদনা করে এই 'বিশ্বব্যাপী' কনফিগার করতে পারেনweb.xml এবং যুক্ত পারেন

<context-param>
    <param-name>primefaces.SUBMIT</param-name>
    <param-value>partial</param-value>
</context-param>

বিকল্পভাবে, আপনি ব্যবহার করতে পারেন <o:form> ওমনিফিসগুলি 3.0+ যা এই আচরণের জন্য ডিফল্ট হয়।

PrimeFaces নির্দিষ্ট মান JSF সমতুল্য processহয় executeথেকে <f:ajax execute>। এটি ঠিক একইরকম আচরণ করে যে এটি কমা-বিচ্ছিন্ন স্ট্রিংকে সমর্থন করে না যখন প্রাইমফ্রিজস একটি করে (যদিও আমি ব্যক্তিগতভাবে কেবল স্থান-বিচ্ছিন্ন কনভেনশনকে আটকে রাখার পরামর্শ দিই), বা @parentকীওয়ার্ডটি নেই। এছাড়াও, এটি <p:commandXxx process>ডিফল্ট @formযখন হয় <p:ajax process>এবং <f:ajax execute>ডিফল্ট হয় তা জেনে রাখা কার্যকর হতে পারে @this। অবশেষে, এটি processতথাকথিত "প্রাইমফিজস সিলেক্টরস" কে সমর্থন করে তাও জেনে রাখা দরকারী , প্রাইমফ্রিজ নির্বাচকরা আপডেট = "@ (। মাই ক্লাস)" এর মতো কাজ করবেন কীভাবে?


<p:commandXxx update> <p:ajax update> <f:ajax render>

updateঅ্যাট্রিবিউট ক্লায়েন্ট সাইড এবং সব HTML টি উপস্থাপনা প্রভাবিত করতে পারে UIComponentসে। updateঅ্যাট্রিবিউট জাভাস্ক্রিপ্ট বলে (এক Ajax অনুরোধ / প্রতিক্রিয়া পরিচালনা করার জন্য দায়ী), ক্লায়েন্ট আইডি, যা এইচটিএমএল DOM গাছ প্রয়োজন অংশের ফর্মটি জমা দিতে প্রতিক্রিয়া আপডেট করা একটি স্থান পৃথক করা তালিকা ব্যবহার করে।

জেএসএফ তার জন্য সঠিক এজ্যাক্স প্রতিক্রিয়া প্রস্তুত করবে, যাতে আপডেট করার জন্য কেবল অনুরোধ করা অংশ থাকে। জেএসএফ অন্য সমস্ত উপাদানগুলি এজ্যাক করবে যা updateএজ্যাক্স প্রতিক্রিয়াতে অ্যাট্রিবিউট দ্বারা আচ্ছাদিত নয় , যার ফলে সাড়া পেডলোডটি ছোট রাখবে। এছাড়াও, উপাদানগুলির রেন্ডার প্রতিক্রিয়া পর্বের সময় যার renderedবিশিষ্টতা মূল্যায়ন করে falseতা এড়িয়ে যাবে। মনে রাখবেন যে এটি ফিরে আসার পরেও true, জাভাস্ক্রিপ্ট এটি প্রাথমিকভাবে থাকলে এইচটিএমএল ডিওএম ট্রিতে আপডেট করতে পারে না false। পরিবর্তে আপনার এটি মোড়ানো বা তার পিতামাতাকে আপডেট করতে হবে। আরও দেখুন অ্যাজাক্স আপডেট / রেন্ডার এমন কোনও উপাদানটিতে কাজ করে না যা বৈশিষ্ট্যটি সরবরাহ করে

সাধারণত, আপনি কেবলমাত্র সেই উপাদানগুলি আপডেট করতে চান যা ক্লায়েন্টের পক্ষে (আংশিক) ফর্ম জমা দেওয়ার জন্য সত্যই "রিফ্রেশ" হওয়া দরকার। নীচের উদাহরণটি এর মাধ্যমে সম্পূর্ণ পিতামাতার ফর্মটি আপডেট করে @form:

<h:form>
    <p:inputText id="foo" value="#{bean.foo}" required="true" />
    <p:message id="foo_m" for="foo" />
    <p:inputText id="bar" value="#{bean.bar}" required="true" />
    <p:message id="bar_m" for="bar" />
    <p:commandButton action="#{bean.action}" update="@form" />
</h:form>

(নোট করুন যে processগুণটি @formইতিমধ্যে ডিফল্ট হিসাবে বাদ দেওয়া হয়েছে)

যদিও এটি সূক্ষ্মভাবে কাজ করতে পারে, ইনপুট এবং কমান্ড উপাদানগুলির আপডেট এই বিশেষ উদাহরণে অপ্রয়োজনীয়। আপনি যদি মডেল মানগুলি fooএবং barঅভ্যন্তরীণ actionপদ্ধতিটি পরিবর্তন না করেন (যা ইউএক্স দৃষ্টিভঙ্গিতে পরিবর্তিত হবে), সেগুলি আপডেট করার কোনও কারণ নেই। বার্তা উপাদান শুধুমাত্র যা সত্যিই আপডেট করা প্রয়োজন:

<h:form>
    <p:inputText id="foo" value="#{bean.foo}" required="true" />
    <p:message id="foo_m" for="foo" />
    <p:inputText id="bar" value="#{bean.bar}" required="true" />
    <p:message id="bar_m" for="bar" />
    <p:commandButton action="#{bean.action}" update="foo_m bar_m" />
</h:form>

যাইহোক, যখন আপনার অনেকগুলি থাকে তখন এটি ক্লান্তিকর হয়। প্রাইমফ্রিজ সিলেক্টরদের থাকার কারণগুলির মধ্যে এটি অন্যতম। এই বার্তাগুলির উপাদানগুলির উত্পাদিত এইচটিএমএল আউটপুটে একটি সাধারণ স্টাইলের শ্রেণি রয়েছে ui-message, সুতরাং নিম্নলিখিতগুলিও নিম্নলিখিতগুলি করা উচিত:

<h:form>
    <p:inputText id="foo" value="#{bean.foo}" required="true" />
    <p:message id="foo_m" for="foo" />
    <p:inputText id="bar" value="#{bean.bar}" required="true" />
    <p:message id="bar_m" for="bar" />
    <p:commandButton action="#{bean.action}" update="@(.ui-message)" />
</h:form>

(দ্রষ্টব্য যে আপনার বার্তার উপাদানগুলিতে আইডি রাখা উচিত, অন্যথায় @(...)এটি কাজ করবে না! আবার দেখুন, আপডেট হিসাবে প্রাইমফ্রিজ নির্বাচনকারীরা কীভাবে = "@ (। মাই ক্লাস)" কাজ করবেন? বিস্তারিতভাবে দেখুন)

@parentশুধুমাত্র পিতা বা মাতা উপাদান, যা এইভাবে বর্তমান উপাদান এবং সমস্ত ভাইবোন এবং তাদের সন্তানদের জুড়ে আপডেট। আপনি যদি প্রতিটি নিজস্ব দায়বদ্ধতার সাথে ফর্মটি বুদ্ধিমান গোষ্ঠীতে পৃথক করে থাকেন তবে এটি আরও কার্যকর useful @thisআপডেট, একথাও ঠিক যে, শুধুমাত্র বর্তমান অংশটি। সাধারণত, আপনি যখন ক্রিয়াকলাপে উপাদানটির নিজস্ব HTML বৈশিষ্ট্যগুলির মধ্যে একটি পরিবর্তন করতে চান কেবল তখনই এটি প্রয়োজন। যেমন

<p:commandButton action="#{bean.action}" update="@this" 
    oncomplete="doSomething('#{bean.value}')" />

কল্পনা করুন যে পরিবর্তিত হয় যা oncompleteদিয়ে কাজ করা প্রয়োজন , তখন উপাদানটি আপডেট না করা হলে এই নির্মাণটি কাজ করতে পারত না, সাধারণ কারণ হিসাবে উত্পন্ন এইচটিএমএল আউটপুট অংশ (এবং এইভাবে সেখানে সমস্ত এলএল এক্সপ্রেশন মূল্যায়ন করা হয়) প্রতিক্রিয়া রেন্ডার সময়)।valueactiononcomplete

@allযা যত্নের সাথে ব্যবহার করা উচিত সমগ্র দস্তাবেজ, আপডেট। সাধারণত, আপনি এর জন্য একটি সরল লিঙ্ক ( <a>বা <h:link>) অথবা একটি দ্বারা পুনঃনির্দেশ-পোস্ট-পোস্টের মাধ্যমে ?faces-redirect=trueবা এর মাধ্যমে সত্যিকারের জিইটি অনুরোধটি ব্যবহার করতে চান ExternalContext#redirect()। প্রভাবগুলিতে,process="@form" update="@all" অ-এজ্যাক্স (অ আংশিক) জমা দেওয়ার মতোই একই প্রভাব ফেলে। আমার পুরো জেএসএফ কেরিয়ারে, আমি কেবলমাত্র বুদ্ধিমান ব্যবহারের মুখোমুখি @allহ'ল এজ্যাক্স অনুরোধের সময় কোনও ব্যতিক্রম ঘটলে সম্পূর্ণরূপে একটি ত্রুটি পৃষ্ঠা প্রদর্শন করা। আরও দেখুন এজেএক্সাইফাইড উপাদানগুলির জন্য জেএসএফ ২.০ ব্যতিক্রম নিয়ে কাজ করার সঠিক উপায় কী?

PrimeFaces নির্দিষ্ট মান JSF সমতুল্য updateহয় renderথেকে <f:ajax render>। এটি ঠিক একইরকম আচরণ করে যে এটি কমা-বিচ্ছিন্ন স্ট্রিংকে সমর্থন করে না যখন প্রাইমফ্রিজস একটি করে (যদিও আমি ব্যক্তিগতভাবে কেবল স্থান-বিচ্ছিন্ন কনভেনশনকে আটকে রাখার পরামর্শ দিই) বা @parentকীওয়ার্ডটি নয়। উভয় updateএবং renderডিফল্ট@none (যা "কিছুই না")।


আরো দেখুন:


আমি যখন আপডেট = "" ব্যবহার করি তখন ব্যাকিং শিমের পরিচালিত সম্পত্তি সেট হয় না এবং আমার @ পোষ্টকনস্ট্রাক্ট রুটিন ব্যর্থ হয়। কোন চিন্তা? সম্পাদনা: you আপনি যদি পরবর্তী পোস্টের অনুরোধগুলিতে উপস্থিত # {পরম of এর একটি পরিচালিত সম্পত্তি নির্ভর করেন তবে আপনাকে এটি ইউআইসকোমন্ড উপাদানগুলিতে <f: পরম> হিসাবে অন্তর্ভুক্ত করতে হবে।
নিকোলাস 21

কোনও প্যানেলগ্রুপের কোনও প্রক্রিয়া / আপডেট এই প্যানেলগ্রুপের বিষয়বস্তু প্রসেস / আপডেট করবে: প্রাক্তন <<: প্যানেলগ্রুপ আইডি = "পিজিআইডি"> // ইনপুট পাঠাগুলি এখানে চলে গেছে <h: প্যানেলগ্রুপ> <p: কমান্ডলিঙ্ক প্রক্রিয়া = "পিজিআইডি" আপডেট = "পিজিআইডি" />
বব-ক্যাক

এই খুব সুন্দর ব্যাখ্যার জন্য থ্যাক্স @ বালাসসি!
প্রোগ্রামিংসআইসুম

2
@ র্যাপস্টার: কারণ processসেট করা নেই, সুতরাং এটির ডিফল্ট মান ব্যবহার করে @form। এটি উপরের উত্তরেও ব্যাখ্যা করা হয়েছে।
বালাসসি

2
@ রোল্যান্ড: এটি অ্যাপ কনফিগারেশনে একটি আলাদা, আরও গুরুতর, সমস্যা লুকিয়ে রেখেছে।
বালুসসি

54

আপনার যদি ডিফল্ট মানগুলি মনে রাখার জন্য খুব কষ্ট হয় (আমি জানি ...) এখানে বালাসকের উত্তর থেকে একটি সংক্ষিপ্ত নির্যাস দেওয়া হয়েছে:

উপাদান | জমা দিন | সতেজ করা
------------ | --------------- | --------------
চ: আজাক্স | execute = "@ this" | | রেন্ডার = "@ কোনোটিই নয়"
পি: আজাক্স | প্রক্রিয়া = "@ এটি" | আপডেটের = "@ কোনোটিই নয়"
পি: কমান্ড এক্সএক্সএক্স প্রক্রিয়া = "@ ফর্ম" | আপডেটের = "@ কোনোটিই নয়"

শুধু একটি ছোটখাট সংশোধন: ডিফল্ট মান processজন্য p:commandXXXহয় @all। এছাড়াও, এজেএক্স সমর্থনকারী প্রতিটি উপাদানগুলির জন্য এটি প্রয়োগ হয় বলে মনে হয় p:menuitem
স্টিফান রৌহ

1
হাই @ স্টিফেনআরউহ, মন্তব্যের জন্য অনেক ধন্যবাদ। আপনি কোথায় পড়েছেন ডিফল্টটি @all? আমি বালাসসির উত্তর থেকে যতটুকু পড়তে পারি তা @formতবে @allএটি @formপ্রক্রিয়াতে সমান । অন্যান্য উপাদানগুলির সম্পর্কে ভাল বক্তব্য, আমি অনুমান করি যে সময়টি কখন কোন উপাদানগুলির জন্য প্রযোজ্য তা দেখার জন্য আমাকে উত্স কোডটি সন্ধান করতে হবে, কারণ আমি ভুল কিছু ভুল লিখতে চাই না
জাকেন হা’র

1
@ জাকেন এই'হ’র থমাস আন্ড্রেসকো আমাকে @allবিট সম্পর্কে জানিয়েছেন । তাকে অবশ্যই জানতে হবে, তিনি সম্প্রতি প্রাইমফ্রিজের এজেএক্স ইঞ্জিনটি পুনরায় প্রয়োগ করেছেন। পরে, আমি এটি ডাবল চেক করেছি তবে প্রাইমফ্রিজের উত্স কোড এবং এক্সএইচআর অনুরোধগুলি দেখে। আমি আশা করি এই মুহুর্তটি আমি এটি পেয়েছি কারণ আমি প্রাইমফ্রিজের এজেএক্স অনুরোধের সাথে একইভাবে কাজ করার জন্য বুটসফারিজের এজেএক্স অনুরোধগুলি কার্যকর করেছি।
স্টিফান রাউহ

এটি বিভ্রান্তিকর হবে যে, এইচটিএমএল যখন একাধিক ফর্ম জমা দেওয়ার পক্ষে সমর্থন করে না তখন ডিফল্টটি @Lall হয়। বিকাশকারীদের কার্যকর ডিফল্ট মান জানতে হবে (যাতে থমাস সেই অনুসারে এটি পরিবর্তন করতে পারে)। উপায় দ্বারা, এই ডিফল্টগুলি প্রাইমফেস ব্যবহারকারী গাইড 6.2-এ ভুলভাবে নাল হিসাবে সংজ্ঞায়িত করা হয়েছে।
মার্ক Dzaebel

27

প্রক্রিয়া দ্বারা (জেএসএফ স্পেসিফিকেশনে এটাকে এক্সিকিউট বলা হয়) আপনি জেএসএফকে প্রসেসিংটিকে এমন উপাদানগুলির মধ্যে সীমাবদ্ধ করতে বলুন যা অন্য প্রতিটি বিষয় স্রেফ উপেক্ষা করা হয়।

আপডেটটি ইঙ্গিত দেয় যে সার্ভারটি যখন আপনাকে অনুরোধ জানায় তখন কোন উপাদানটি আপডেট করা হবে।

@ সমস্ত : প্রতিটি উপাদান প্রক্রিয়াজাত / রেন্ডার করা হয়।

@ এটি : এক্সিকিউট বৈশিষ্ট্যযুক্ত অনুরোধ উপাদানটি প্রক্রিয়া করা / রেন্ডার হয়।

@ ফর্ম: অনুরোধ উপাদান রয়েছে এমন ফর্মটি প্রক্রিয়া করা / রেন্ডার করা হয়।

@ পিতামাতা: যে পিতামাতার অনুরোধের উপাদান রয়েছে তা প্রক্রিয়া করা / রেন্ডার করা হয়।

প্রাইমফেসগুলির সাহায্যে আপনি জিকুয়ারি নির্বাচনকারীদেরও ব্যবহার করতে পারেন, এই ব্লগটি দেখুন: http://blog.primefaces.org/?p=1867


2

দয়া করে নোট করুন যে প্রাইমফ্রিজস স্ট্যান্ডার্ড জেএসএফ 2.0+ কীওয়ার্ডগুলিকে সমর্থন করে:

  • @this বর্তমান উপাদান।
  • @all পুরো দর্শন।
  • @form বর্তমান উপাদানটির নিকটতম পূর্বপুরুষ ফর্ম।
  • @none কোন উপাদান নেই।

এবং স্ট্যান্ডার্ড জেএসএফ ২.৩++ কীওয়ার্ড:

  • @child(n) নবম সন্তান।
  • @composite নিকটতম সংমিশ্রিত উপাদান পূর্বপুরুষ।
  • @id(id) উপাদান আইডি কাঠামো এবং নামকরণ পাত্রে উপেক্ষা করে তাদের আইডি দ্বারা উপাদানগুলি অনুসন্ধান করতে ব্যবহৃত হয়।
  • @namingcontainer বর্তমান উপাদানটির নিকটতম পূর্বপুরুষের নামকরণের ধারক।
  • @parent বর্তমান উপাদানটির পিতা-মাতা।
  • @previous আগের ভাইবোন
  • @next পরবর্তী ভাইবোন।
  • @root ইউআইভিউরউট ভিউর উদাহরণটি বর্তমান উপাদানটির পরিবর্তে মূল থেকে অনুসন্ধান শুরু করতে ব্যবহৃত হতে পারে।

তবে, এটি কয়েকটি প্রাইমফ্রিজের নির্দিষ্ট কীওয়ার্ড সহ আসে:

  • @row(n) নবম সারি।
  • @widgetVar(name) প্রদত্ত উইজেটভিয়ার সহ উপাদান।

এবং আপনি এমনকি "প্রাইমফ্রিজ নির্বাচনকারী" নামক কিছু ব্যবহার করতে পারেন যা আপনাকে jQuery সিলেক্টর এপিআই ব্যবহার করতে দেয় allows উদাহরণস্বরূপ সিএসএস শ্রেণীর সাহায্যে কোনও উপাদানগুলির সমস্ত ইনপুট প্রক্রিয়া করা myClass:

process="@(.myClass :input)"

দেখা:


2
মনে রাখবেন যে এমনকি জেএসএফ 2.3 + কীওয়ার্ডগুলির সর্বাধিক সমর্থন করে।
tandraschko
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.