Ich habe ein Sling Resource
Objekt. Was ist der beste Weg, um seine Eigenschaft zu setzen oder zu aktualisieren?So legen Sie eine Ressourceneigenschaft fest
Antwort
Es hängt von der Riemen-Version:
Sling> = 2.3.0 (seit CQ 5,6)
Passen Sie Ihre Ressource ModifiableValueMap
, seine put
Methode verwenden und die Ressource Resolver begehen:
ModifiableValueMap map = resource.adaptTo(ModifiableValueMap.class);
map.put("property", "value");
resource.getResourceResolver().commit();
Sling < 2.3.0 (CQ 5.5 und früher)
Passen Sie Ihre Ressource PersistableValueMap
, verwenden seine put
und save
Methoden:
PersistableValueMap map = resource.adaptTo(PersistableValueMap.class);
map.put("property", "value");
map.save();
JCR API
Sie können auch auf die Ressource Node
und verwenden Sie die JCR API anzupassen Eigenschaft zu ändern. Es ist jedoch eine gute Idee, bei einer Abstraktionsschicht zu bleiben, und in diesem Fall brechen wir irgendwie die von Sling bereitgestellte Abstraktion Resource
.
Node node = resource.adaptTo(Node.class);
node.setProperty("property", "value");
node.getSession().save();
Es funktioniert nicht in veröffentlichen. Aber wenn Benutzer angemeldet as admin
wird es funktionieren.
ModifiableValueMap map = resource.adaptTo(ModifiableValueMap.class);
map.put("property", "value");
resource.getResourceResolver().commit();
So viele Entwickler sind nicht gerne mit Node API
. Sie können auch ValueMap- und ModifableValueMap-APIs zum Lesen bzw. Aktualisieren von Eigenschaften verwenden.
lesen Wert durch ValueMap
ValueMap valueMap = resource.getValueMap();
valueMap.get("yourProperty", String.class);
Schreib-/Eigentum durch ModifiableValueMap ändern
ModifiableValueMap modifiableValueMap = resource.adaptTo(ModifiableValueMap.class);
modifiableValueMap.put("NewProperty", "Your Value"); //write
modifiableValueMap.put("OldProperty", "Updated Value"); // Modify
- 1. So legen Sie eine globale Variable fest
- 2. So legen Sie Umgebungsvariablen mit Fabric fest
- 3. So legen Sie das ausgewählte Objektgitter fest
- 4. So legen Sie ein internes Basisklassenfeld fest
- 5. So legen Sie ein dynamisches Attribut fest
- 6. So legen Sie Header für DeleteAsync fest
- 7. So legen Sie den frühestmöglichen Haltepunkt fest
- 8. So legen Sie Standarddokument in ASP.Net fest
- 9. So legen Sie ein Überziehungslimit fest
- 10. So legen Sie Tabstopp in CoreText fest
- 11. So legen Sie eine Java-Remote-Entwicklerumgebung in Eclipse fest
- 12. So legen Sie die Stückliste für eine gelesene Datei fest
- 13. So legen Sie das Limit für eine Hibernate-Abfrage fest
- 14. So legen Sie die Sichtbarkeit für eine Aktionsleistenmenügruppe fest?
- 15. So legen Sie eine wöchentliche lokale Benachrichtigung in swift fest
- 16. So legen Sie automatisch eine Kleinpaket-ID fest
- 17. So legen Sie eine Umgebungsvariable in Amazon EC2 fest
- 18. So legen Sie eine Zellenposition in einer UITableView dynamisch fest
- 19. So legen Sie eine Eigenschaft einer Eigenschaft in NHibernate fest
- 20. So legen Sie eine Ansichtshöhe fest, die der Breite entspricht
- 21. So legen Sie eine WPF ListView-Objektfarbe fest?
- 22. So legen Sie den WebClient Content-Type-Header fest?
- 23. So legen Sie den Buchstabenabstand von UITextField fest
- 24. So legen Sie die Hintergrundfarbe einer Tabellenzelle mit jQuery fest
- 25. So legen Sie das Layout für die benutzerdefinierte Navigationsleiste fest
- 26. So legen Sie das relative Layout als Standardlayout fest
- 27. So legen Sie "Ordner" -Eigenschaften in Sharepoint-Ansicht fest
- 28. So legen Sie die Ausrichtung von ContentPage in Xamarin.Forms fest
- 29. So legen Sie die Umgebungsvariable für gulp-jasmine fest
- 30. So legen Sie fest, welche der Formulare zuerst angezeigt werden