Значение предпочтения портлета не изменяется - PullRequest
0 голосов
/ 05 марта 2012

Я сталкиваюсь с проблемой в настройке портлета, когда я не могу изменить значение предпочтения портлета, т.е. значение предпочтения не изменяется.

Я изменил значение в портлете, а затем пересек, отметив в portlet.xml, где оно изменилось.Но когда я пытаюсь получить это значение предпочтения портлета, используя его ключ, он всегда дает мне более раннее значение.

Мой portlet.xml выглядит так:

<portlet-preferences>
    <preference>
        <name>DATA_FILE_DOC_NAME</name>// the name of the preference
        <value>COM-EXAMPLE-EDIT</value>// the corresponding value
        <read-only>false</read-only>// extra attribute
    </preference>
</portlet-preferences>

И в файле Java яЯ получаю это предпочтение следующим образом:

....

//Getting the portal prefernce object.
    PortletPreferences portletPreference = portletRequest.getPreferences();

    // get the data file doc name.
    dataFileDocName = portletPreference.getValue(
        "DATA_FILE_DOC_NAME", "Not Found!!");

    System.out.println("Data file doc name is : "+dataFileDocName.toUpperCase());

Я получаю dataFileDocName как COM-EXAMPLE-EDIT , но если я изменяю предпочтение на что-то другое, я получаю то же самое предпочтение COM-EXAMPLE-EDIT (независимо от того, сколько раз я очищаю и публикую свой проект).

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 18 сентября 2012

3 вещи:

1. Настройки портлета можно изменить только в фазе действия
2. вызовите setValue и затем сохраните, чтобы гарантировать сохранение изменений в настройках
3. Настройки только для чтения не могут быть изменены, поэтому убедитесь, что вы не помечаете их как «только для чтения» в дескрипторе развертывания.

...