Repository: quarkusio/quarkus
Issue: [Qute] Custom default value is ignored in {config:boolean } rendering 

### Describe the bug

According to https://quarkus.io/guides/qute-reference#config,  when you write `{config:boolean('quarkus.foo.boolean') ?: 'Not Found'}`, I was expecting it displays `Not Found` if `quarkus.foo.boolean` is not defined. But  NOT_FOUND is rendered instead

### Expected behavior

Display the user-defined default value

### Actual behavior

Displays hard-coded NOT_FOUND

### How to Reproduce?

Just paste {config:boolean('quarkus.foo.boolean') ?: 'Not Found'} in https://github.com/quarkusio/quarkus-quickstarts/blob/main/qute-quickstart/src/main/resources/templates/hello.html, run the app and access http://localhost:8080/hello

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

_No response_

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

_No response_

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_

Changed files:
independent-projects/qute/core/src/main/java/io/quarkus/qute/EvaluatorImpl.java
extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/ConfigTemplateExtensionsTest.java

diff --git a/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/ConfigTemplateExtensionsTest.java b/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/ConfigTemplateExtensionsTest.java
index 737b50c197b..9f0ffcb3b67 100644
--- a/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/ConfigTemplateExtensionsTest.java
+++ b/extensions/qute/deployment/src/test/java/io/quarkus/qute/deployment/extensions/ConfigTemplateExtensionsTest.java
@@ -18,12 +18,12 @@ public class ConfigTemplateExtensionsTest {
             .withApplicationRoot((jar) -> jar
                     .addAsResource(new StringAsset(
                             "{config:foo}={config:property('foo')}\\n" +
-                                    "{config:nonExistent ?: 'NOT_FOUND'}={config:property('nonExistent') ?: 'NOT_FOUND'}\\n" +
+                                    "{config:nonExistent ?: 'Not found!'}={config:property('nonExistent') ?: 'Not found!'}\\n" +
                                     "{config:['foo.bar.baz']}={config:property('foo.bar.baz')}\\n" +
                                     "{config:['quarkus.qute.remove-standalone-lines']}={config:property('quarkus.qute.remove-standalone-lines')}\\n"
                                     +
                                     "{config:property(name)}\\n" +
-                                    "{config:boolean('foo.bool') ?: 'NOT_FOUND'} {config:boolean('foo.boolean') ?: 'NOT_FOUND'}\\n"
+                                    "{config:boolean('foo.bool') ?: 'Not found!'} {config:boolean('foo.boolean') ?: 'Not found!'}\\n"
                                     +
                                     "{config:integer('foo.bar.baz')}"),
                             "templates/foo.html")
@@ -35,11 +35,11 @@ public class ConfigTemplateExtensionsTest {
     @Test
     public void testGetProperty() {
         assertEquals("false=false\\n" +
-                "NOT_FOUND=NOT_FOUND\\n" +
+                "Not found!=Not found!\\n" +
                 "11=11\\n" +
                 "true=true\\n" +
                 "false\\n" +
-                "true NOT_FOUND\\n" +
+                "true Not found!\\n" +
                 "11",
                 foo.data("name", "foo").render());
     }
diff --git a/independent-projects/qute/core/src/main/java/io/quarkus/qute/EvaluatorImpl.java b/independent-projects/qute/core/src/main/java/io/quarkus/qute/EvaluatorImpl.java
index 3a49cd9baff..c3f8c030d49 100644
--- a/independent-projects/qute/core/src/main/java/io/quarkus/qute/EvaluatorImpl.java
+++ b/independent-projects/qute/core/src/main/java/io/quarkus/qute/EvaluatorImpl.java
@@ -86,13 +86,20 @@ public CompletionStage<Object> evaluate(Expression expression, ResolutionContext
 
     private CompletionStage<Object> resolveNamespace(EvalContext context, ResolutionContext resolutionContext,
             Iterator<Part> parts, Iterator<NamespaceResolver> resolvers, Expression expression) {
+        // Use the next matching namespace resolver
         NamespaceResolver resolver = resolvers.next();
         return resolver.resolve(context).thenCompose(r -> {
             if (Results.isNotFound(r)) {
+                // Result not found
                 if (resolvers.hasNext()) {
+                    // Try the next matching resolver
                     return resolveNamespace(context, resolutionContext, parts, resolvers, expression);
                 } else {
-                    if (strictRendering && !parts.hasNext()) {
+                    // No other matching namespace resolver exist
+                    if (parts.hasNext()) {
+                        // Continue to the next part of the expression
+                        return resolveReference(false, r, parts, resolutionContext, expression, 0);
+                    } else if (strictRendering) {
                         throw propertyNotFound(r, expression);
                     }
                     return Results.notFound(context);